Android面试题

1.Activity与Fragment的生命周期。

http://blog.csdn.net/liuhe688/article/details/6733407

http://blog.csdn.net/forever_crying/article/details/8238863/

2.Acitivty的四中启动模式与特点。

3. Activity缓存方法。

http://blog.csdn.net/zhichu_2025/article/details/52047605

4. Service的生命周期,两种启动方法,有什么区别。

http://blog.csdn.net/agods/article/details/7468431

5. 怎么保证service不被杀死。

参考http://blog.csdn.net/rabbit_in_android/article/details/50557740

6. 广播的两种注册方法,有什么区别。

http://blog.csdn.net/zhiwenyan/article/details/50729844

7. Intent的使用方法,可以传递哪些数据类型。

http://blog.csdn.net/a78270528/article/details/50999965

36.Intent,IntentFileter,Category,action这些关系和作用。

8. ContentProvider使用方法。

9. Thread、AsycTask、IntentService的使用场景与特点。

http://blog.csdn.net/double2hao/article/details/49679319

10.AsyncTask以及handle的理解

11.Hander的使用,跟Looper,MessageQuQue,Message的关系?

12. 五种布局: FrameLayout 、LinearLayout 、 AbsoluteLayout 、 RelativeLayout 、TableLayout 各自特点及绘制效率对比。

13. Android的数据存储形式。

14. Sqlite的基本操作。

15. Android中的MVC,MVP,MVVM模式。

16. Merge、ViewStub的作用。

http://blog.csdn.net/xyz_lmn/article/details/14524567

17. Json有什么优劣势。

http://blog.csdn.net/jansin_love/article/details/17762031

18. 动画有哪两类,各有什么特点?

http://blog.csdn.net/xyz_lmn/article/details/38667899

19. Handler、Loop消息队列模型,各部分的作用。

http://blog.csdn.net/lmj623565791/article/details/38377229/

20. 如何退出已经打开多个activity的程序?

21. Asset目录与res目录的区别。

22. Android怎么加速启动Activity。

23.一个应用大概有多少可用内存;

24.什么是内存泄漏和内存溢出,区别和特点;如何避免;

15.内存管理,DDMS的工具使用,查看内存使用工具;

26.如何避免ANR?

27.产生Force close 一般是什么情况下产生的?


28. Android内存优化方法:ListView优化,及时关闭资源,图片缓存等等。

1.ListView优化

①设置convertview,每次加载判断是否为空

②使用内部类ViewHolder,并设置tag

③分页加载

29. Android中弱引用与软引用的应用场景。

30. Bitmap的四中属性,与每种属性队形的大小。

Android中图片有四种属性,分别是:

ALPHA_8每个像素占用1byte内存 
ARGB_4444
每个像素占用2byte内存 
ARGB_8888
每个像素占用4byte内存(默认)
RGB_565
每个像素占用2byte内存 

31.SurfaceView和View的区别

SurfaceView和View最本质的区别在于,surfaceView是在一个新起的单独线程中可以重新绘制画面而View必须在UI的主线程中更新画面。 

那么在UI的主线程中更新画面可能会引发问题,比如你更新画面的时间过长,那么你的主UI线程会被你正在画的函数阻塞。那么将无法响应按键,触屏等消息。 

当使用surfaceView 由于是在新的线程中更新画面所以不会阻塞你的UI主线程。但这也带来了另外一个问题,就是事件同步。比如你触屏了一下,你需要surfaceView中thread处理,一般就需要有一个event queue的设计来保存touch event,这会稍稍复杂一点,因为涉及到线程同步。


32.大图片的实现优化

http://blog.csdn.net/yudajun/article/details/9323941


33. View与View Group分类。自定义View过程:onMeasure()、onLayout()、onDraw()。

34.SurfaceView和View的区别

SurfaceView和View最本质的区别在于,surfaceView是在一个新起的单独线程中可以重新绘制画面而View必须在UI的主线程中更新画面。 

那么在UI的主线程中更新画面可能会引发问题,比如你更新画面的时间过长,那么你的主UI线程会被你正在画的函数阻塞。那么将无法响应按键,触屏等消息。 

当使用surfaceView 由于是在新的线程中更新画面所以不会阻塞你的UI主线程。但这也带来了另外一个问题,就是事件同步。比如你触屏了一下,你需要surfaceView中thread处理,一般就需要有一个event queue的设计来保存touch event,这会稍稍复杂一点,因为涉及到线程同步。

35. Touch事件分发机制。

http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.html

http://blog.csdn.net/lmj623565791/article/details/38960443

36.onTouch有几种事件?

37.webview常用方法,和javascrip的交互;

38 .屏幕适配

http://www.cocoachina.com/android/20151030/13971.html

http://blog.csdn.net/lmj623565791/article/details/45460089

39.消息的推送和推送原理

40.数据保存方式

41.反射

http://www.cnblogs.com/lzq198754/p/5780331.html

42.android进程种类,分别是什么,作用;

http://blog.csdn.net/llbupt/article/details/7358360

43.JNI相关;

44.数据压缩,加密;

45.自定义UI,重写控件,相关xml定义;

46.android的5个存储方式,各自特点;

47.android样式和主题的区别?分别怎么定义?

48. Android长连接,怎么处理心跳机制。

49. Zygote的启动过程。

50. Android IPC:Binder原理。

51. 你用过什么框架,是否看过源码,是否知道底层原理。

52. Android5.0、6.0新特性。

53.SQLite添加删除如何提高性能?SQLite数据库升级兼容怎么做?

1.利用android提高的的insert,query,update,deleteAPI与execSql,rawQuery函数执行原生的插入,查询,更新,删除语句操作花费时间的对比结果

2.Sqlite数据库批量操作效率的问题

解决方法:

添加事务处理,把5000条插入作为一个事务

//设置事务处理成功,不设置会自动回滚不提交。

这样SQLite将把全部要执行的SQL语句先缓存在内存当中,然后等到COMMIT的时候一次性的写入数据库,这样数据库文件只被打开关闭了一次,效率自然大大的提高

http://blog.csdn.net/jie1991liu/article/details/50339797

54.如何使用AndroidHTTP下载一张超大(10000*10000)图片,并显示到手机上

http://blog.csdn.net/zhaokaiqiang1992/article/details/29573129

http://blog.csdn.net/lmj623565791/article/details/49300989/

 

55.android线程之间通信(1.主线程和子线程2.子线程和子线程)

http://blog.csdn.net/kedaweiwei/article/details/44494529

56.Android插件化开发和组件化开发

57.Android单元测试框架














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值