码迷,mamicode.com
首页 > 移动开发 > 详细

android 2018 面试题

时间:2018-05-02 02:48:23      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:情况   instance   分析   bundle   ble   用户   ons   service   参数   

 

【一】Activity

  1.生命周期

  onCreate:表示activity正在被创建(此方法中可以做一些初始化工作)

  onRestart:表示activity正在被重新启动,当前activity由不可见变为可见状态时,会被调用

  onStart:表示activity正在被启动,这时activity已经可见了,但是没有出现在前台,无法与用户交互

  onResume:表示activity已经可见了,位于前台,可以与用户交互了

  onPause:表示activity正在停止

  onstop:

  ondestory:

 

  2.异常情况下生命周期分析

  activity在异常情况下终止时,系统会调用onSaveInstanceState来保持当前activity的状态;

  activity在重新创建后,系统胡调用onRestoreInstanceState,并且把activity销毁时所保存的Bundle对象作为参数同时传给onCreate和onRestoreInstanceState方法

 

    3.activity的加载模式

  standard:默认模式

  singleTop:栈顶模式(activity在栈顶就复用,不在就重建)  适应的场景:推送消息的展示页

  singleTask:栈内复用模式  栈中不会有重复的instance,重用时会干掉头上所有的activity  适应的场景:程序的入口,用在启动页和首页

  singleInstance:单实例模式  重新开辟新的任务栈  适应的场景:与程序分离的页面(类似闹钟的提示)

 

【二】广播

  广播可以来自系统,还可以来自其他app;

  广播分为有序广播和无序广播;

  Intent是用来发送广播的,BroadcastReceiver是来接受广播的

  动态注册必须等到app启动后才能收到广播,静态注册可以实现未启动应用也可以接受广播;

  

【三】service

  1.清单文件的属性

  exported:代表是否能被其他应用隐式调用

  process:是否需要在单独的进程中运行

  enable:是否可以被系统实例化

  2.如何保证服务不被杀死

  因内存不足杀死服务:可将onStartCommand方法的返回值设置为Start_sticky,表示服务在内存资源紧张时被杀死后,会在内存资源足够时再恢复;也可以将服务设置为前台服务,拥有较高的比较级,这样在内存资源紧张时也不会被杀掉

  用户手动干预杀死服务:非强制性关闭服务,会走生命周期,onDestory方法会被调用,可以在此方法中发送广播,重新启动(为了程序更健全,我们可开两个服务,相互监听,相互启动,服务A监听B的广播来启动B,服务B监听A的广播来启动A)

 

  

 

android 2018 面试题

标签:情况   instance   分析   bundle   ble   用户   ons   service   参数   

原文地址:https://www.cnblogs.com/wxnote/p/8909747.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!