Android篇之高频面试题(一)

119 阅读1分钟

1、简单描述当Activity在后台销毁时,如何保存和恢复状态的数据?

2、在程序配置改变的时候,如切换横竖屏,会导致Activity销毁,此时如何保存和恢复大量数据?

用ViewModel而不能使用Bundle,因为Bundle不能传输大于1M-8k的大小的数据(实际上更小一点)。

3、Activity有EditText,如何保证Activity销毁和恢复的时候,EditText的内容保存下来?

4、在manifest中可以声明哪几种Activity的启动模式、请分别列举并简单描述各自的特点。

5、列举一些保证Service不被后台销毁的方式。

6、简单描述下AIDL的应用场景。

7、列举你所知道的Android多线程之间的通讯的方式。

8、在android中使用Menu时可能需要重写的方法有(以下4选2)。

        onCreateOptionsMenu

        onCreateMenu

        onOptionsltemSelected

        onltemSelected

9、简单列举一些用到过的设计模式,详细描述单例模式实现的几种方式。

10、HashMap和Hashtable有什么区别?

11、如何以最高效率的方式计算出2乘以128?

13、ListView如何提高其效率?

14、简单描述下Android事件分发机制。

15、swtich是否能作用在byte上?是否能作用在long上?是否能作用在String上?

19、内存溢出和内存泄漏有什么区别?何时会产生内存泄漏?内存优化有哪些方法?

20、View,surfaceView,surfaceViewGLSurfaceView有什么区别?

21、简述怎么优化app体验(例如网络请求,数据缓存,图片显示,全局框架设计)

22、简述如何封装一个HTTP网络请求库。