下载此文档

《Android面试题总结强劲版(三).》.doc.doc


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
android 面试题总结加强版(三) (转自 CSDN) 转载地址: http://blog./itachi85/article/details/74264 74 自己总结的最强 android 应用面试题集 26. 如果后台的 Activity 由于某原因被系统回收了,如何在被系统回收之前保存当前状态? 当你的程序中某一个 Activity A 在运行时中,主动或被动地运行另一个新的 Activity B 这个时候 A 会执行 Java 代码 public void onSaveInstanceState(Bundle outState) { (outSta te); ("id", 1234567890);} B 完成以后又会来找 A, 这个时候就有两种情况,一种是 A 被回收,一种是没有被回收,被回收的 A 就要重新调用 onCreate() 方法,不同于直接启动的是这回 onCreate() 里是带上参数 savedInstanceState ,没被收回的就还是 onResume 就好了。 savedInstanceState 是一个 Bundle 对象,你基本上可以把他理解为系统帮你维护的一个 Map 对象。在 onCreate() 里你可能会用到它,如果正常启动 onCreate 就不会有它,所以用的时候要判断一下是否为空。 Java 代码 if(savedInstanceState != null){ long id= ("id"); } 就像官方的 Notepad 教程里的情况, 你正在编辑某一个 note , 突然被中断, 那么就把这个 note 的 id 记住, 再起来的时候就可以根据这个 id 去把那个 note 取出来, 程序就完整一些。这也是看你的应用需不需要保存什么, 比如你的界面就是读取一个列表, 那就不需要特殊记住什么,哦, 没准你需要记住滚动条的位置... 27. 如何退出 Activity 对于单一 Activity 的应用来说, 退出很简单, 直接 finish() 即可。当然, 也可以用 killProcess() 和 () 这样的方法。现提供几个方法,供参考: 1 、抛异常强制退出:该方法通过抛异常,使程序 Force Close 。验证可以,但是,需要解决的问题是,如何使程序结束掉,而不弹出 Force Close 的窗口。 2、记录打开的 Activity : 每打开一个 Activity , 就记录下来。在需要退出时, 关闭每一个 Activit y 即可。 3 、发送特定广播:在需要结束应用时,发送一个特定的广播,每个 Activity 收到广播后, 关闭即可。 4 、递归退出在打开新的 Activity 时使用 startActivityForResult ,然后自己加标志, 在 onActivityResult 中处理,递归关闭。除了第一个,都是想办法把每一个 Activity 都结束掉, 间接达到目的。但是这样做同样不完美。你会发现,如果自己的应用程序对每一个 Activit y 都设置了 nosensor ,在两个 Activity 结束的间隙, sensor 可能有效了。但至少,我们的目的达到了,而且没有影响用户使用。为了编程方便,最好定义一个 Activity 基类,处理这些共通问题。 28. 请解释下在单线程模型中 Message 、 Handler 、 Message Queue 、 Looper 之间的关系。 Message Queue( 消息队列) : 用来存放通过 Handler 发布的消息, 通常附属于某一个创建它的线程,可以通过 () 得到当前线程的消息队列 Handler : 可以发布或者处理一个消息或者操作一个 Runnable , 通过 Handler 发布消息, 消息将只会发送到与它关联的消息队列,然也只能处理该消息队列中的消息 Looper :是 Handler 和消息队列之间通讯桥梁, 程序组件首先通过 Handler 把消息传递给 Looper , Looper 把消息放入队列。 Looper 也把消息队列里的消息广播给所有的 Handler , Handler 接受到消息后调用 handleMessage 进行处理 Message :消息的类型,在 Handler 类中的 handleMessage 方法中得到单个的消息进行处理. 29. 你如何评价 Android 系统?优缺点。答:优点: 1 、学****的开源性 2 、软件兼容性比较好 3 、软件发展迅速

《Android面试题总结强劲版(三).》.doc 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人755273190
  • 文件大小0 KB
  • 时间2016-07-01