Android面试题2

1. 请描述下Activity的生命周期。

答:onCreate()Activity第一次加载时调用,用户构建窗体

onStart()Activity能被用户看到时时调用

onResume()Activity能够得到用户焦点时调用

onRestart()Activity第二次被加载时调用,不在调用onCreate()

onPause()Activity在启动另外一个Activity时调用,失去用户焦点是调用

onStop()Activity被第二个Activity完全遮挡住时调用

onDestroy()Activity从栈中取出时调用,也可以说从第二个Activity返回第一个Activity时,会调用第二个Activity的onDestroy(),销毁Activity

2. 如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态? 答:在系统回收或者用户调用finish方法,都会销毁Activity,此时会调用onDestroy方法,利用onDestroy方法保存Activity状态

3. 如何将一个Activity设置成窗口的样式。

答:在AndriodMinifest.xml文件中配置Activity的属性的主题为android:theme="@android:style/Theme.Dialog"

4. 如何退出Activity?如何安全退出已调用多个Activity的Application?

答:单个的Activity,调用finish、killProcess()、System.exit()方法退出

多个Activity

在2.1之前,可以使用ActivityManager的restartPackage方法。

它可以直接结束整个应用。在使用时需要权限android.permission.RESTART_PACKAGES 在2.2,这个方法失效了。

在2.2添加了一个新的方法,killBackgroundProcesses(),需要权限 android.permission.KILL_BACKGROUND_PROCESSES

5. 请介绍下Android中常用的五种布局。

答:LinearLayout线性布局

RelativeLayout相对位置布局

AbsoluteLayout根据坐标布局

TableLayout表格布局

FrameLayout:里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角

6. 请介绍下Android的数据存储方式。

答:SharedPreferences键值对的存储

SQlite数据库存储

Files文件存储

NetWork网络存储

ContentProvider

7. 请介绍下ContentProvider是如何实现数据共享的。

答:ContentProvider负责: 组织应用程序的数据、向其他应用程序提供数据;

ContentResolver负责:获取ContentProvider提供的数据、增删改查数据等

8. 如何启用Service,如何停用Service。

答:启动Service:

Intent intent = new Intent(this,MyService.class);

startService(intent);//启动服务的调用者跟服务没有任何关系,调用者退出跟服务不会

Android面试题2相关文档

最新文档

返回顶部