必调用的三个方法:onCreate() –> onStart() –> onResume(),用AAA表示 (1)父Activity启动子Activity,子Actvity退出,父Activity调用顺序如下 AAA –> onFreeze() –> onPause() –> onStop() –> onRestart() –> onStart(),onResume() … (2)用户点击Home,Actvity调用顺序如下 AAA –> onFreeze() –> onPause() –> onStop() — Maybe –> onDestroy() – Maybe (3)调用finish(), Activity调用顺序如下 AAA –> onPause() –> onStop() –> onDestroy() (4)在Activity上显示dialog, Activity调用顺序如下 AAA (5)在父Activity上显示透明的或非全屏的activity,Activity调用顺序如下 AAA –> onFreeze() –> onPause() (6)设备进入睡眠状态,Activity调用顺序如下 AAA –> onFreeze() –> onPause() 2. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态? onSaveInstanceState() 当你的程序中某一个Activity A在运行时,主动或被动地运行另一个新的Activity B,这个时候A会执行onSaveInstanceState()。B完成以后又会来找A,这个时候就有两种情况:一是A被回收,二是A没有被回收,被回收的A就要重新调用onCreate()方法,不同于直接启动的是这回onCreate()里是带上了参数savedInstanceState;而没被收回的就直接执行onResume(),跳过onCreate()了。 3. 如何将一个Activity设置成窗口的样式。 在AndroidManifest.xml 中定义Activity的地方一句话android:theme="@android:style/Theme.Dialog"或android:theme="@android:style/Theme.Translucent"就变成半透明的 4. 如何退出Activity?如何安全退出已调用多个Activity的Application? 对于单一Activity的应用来说,退出很简单,直接finish()即可。 当然,也可以用killProcess()和System.exit()这样的方法。 http://blog.csdn.net/debug2/archive/2011/02/18/6193644.aspx 5. 请介绍下Android中常用的五种布局。 FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局) 6. 请介绍下Android的数据存储方式。 一.SharedPreferences方式 二.文件存储方式 三.SQLite数据库方式 四.内容提供器(Content provider)方式 五. 网络存储方式 7. 请介绍下ContentProvider是如何实现数据共享的。 创建一个属于你自己的Content provider或者将你的数据添加到一个已经存在的Content provider中,前提是有相同数据类型并且有写入Content provider的权限。 8. 如何启用Service,如何停用Service。 9. 注册广播有几种方式,这些方式有何优缺点?请谈谈Android引入广播机制的用意。 10. 请解释下在单线程模型中Message、Handler、Message Queue、Looper之间的关系。 11. AIDL的全称是什么?如何工作?能处理哪些类型的数据? 12. 请解释下Android程序运行时权限与文件系统权限的区别。 13. 系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由。 14. 有一个一维整型数组int[]data保存的是一张宽为width,高为height的图片像素值信息。请写一个算法,将该图片所有的白色不透明(0xffffffff)像素点的透明度调整为50%。 15. 你如何评价Android系统?优缺点。 |
|
来自: QCamera > 《interview》