Android 面试题(经典)

1.Actvity的生命周期,生命周期中的onCreate与onResume有什么区别

   Activity的生命周期有:onCreate,onStart,onRestart,onResume,onPause,onStop,onDestory;

  onCreate与onResume区别就是

 

 

2.Activity A启动Activity B,生命周期如何变化

3.如何隐藏4.x系统上下方的虚拟按键

4.如何将4.x系统上的menu从上方移到下方

5.旋转屏幕时如何让Activity生命周期不重复调用

6.如何阻止另一个进程调用本进程中指定的Activity

7.JNI是什么,如何使用

8.Android异步加载的三种方式

 一, AsyncTask,

   二、采用Thread + Handler + Message 

   三、采用Thread + Handler + post方法

  详情:http://www.open-open.com/lib/view/open1345017746897.html

9.如何用一套资源文件完成所有屏幕的适配(除了.9图以外)

10.Service的生命周期,以及4.x上对onStart方法的替代方法是什么

11.Activity A启动Activity B,在B中按Home回到主屏幕,按menu时出现后台app任务列表,如何让刚退出的app的界面显示为A,而不是退出时的B

12.布局中如何实现一行一行添加按钮,并在按钮宽度大于当前行剩余屏幕空间时自动换行

13.SQLite数据库如何加载的

14.如何重写View实现自定义View

重写一个view一般情况下只需要重写OnDraw方法。那么什么时候需要重写OnMeasure、OnLayout、OnDraw方法呢,这个问题只要把这几个方法的功能弄清楚你就应该知道怎么做了。在此我也简单的讲一下(描述不正确请拍砖,欢迎交流)。

①如果需要改变View绘制的图像,那么需要重写OnDraw方法。(这也是最常用的重写方式。)

②如果需要改变view的大小,那么需要重写OnMeasure方法。

③如果需要改变View的(在父控件的)位置,那么需要重写OnLayout方法。

④根据上面三种不同的需要你可以组合出多种重写方案,你懂的。

再补充一点,自定义的组件,在布局xml文件中使用时必须声明组件的包地址,如

<com.android.tutor.MyView 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  /> 
如此即可。
 
 
程序异常退出的时候,如何放在什么地方比较好。
onSaveInstanceState();
原文地址:https://www.cnblogs.com/liuzenglong/p/3371434.html