Android面试总结持续更新中

Android面试总结

以下是自己在面试过程中经常遇到的一些面试问题,特总结一下高频会问到的:

  1. Handler机制,这个问题问的频率是非常的高

  2. App内存优化

  3. App内存泄露,你常用的内存泄露检测工具,归根究底内存泄露的原因,你是如何处理的

  4. App性能优化

  5. 常见的设计模式,单例模式(必须掌握),以及单例模式的好处等等….

  6. MVC,MVP,各代表什么等等….,你平常项目中用的是哪种。

  7. 单个listview item高频率的刷新处理,看清楚,是高频率的,举个例子就好像多个下载任务,带进度条的那个刷新。

  8. 支付相关,支付宝支付,微信支付,银联比较问的少。

  9. 图片处理解决方案,三级缓存,自己写的还是使用的第三方,除过ImageLoader,bitmapUtils,还需要自己掌握了解Glide、、Fresco、Picasso等

  10. 一些网络工具,比如手volley,okhttp等等
  11. RXjava这个东西有时候也问

  12. 还有就是关于java这块了,比较喜欢问多线程、string 与 new stirng(),这块赋值问题

  13. Android view 更新,invalidate ,postinvalidate,requestLayout();
    **其实android中实现view的更新有两种方法,一种是invalidate,另一种是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 鉴于此,如果要使用invalidate的刷新,那我们就得配合handler的使用,使异步非ui线程转到ui线程中调用,如果要在非ui线程中直接使用就调用postInvalidate方法即可,这样就省去使用handler的烦恼。
    **当view确定自身已经不再适合现有的区域时,该view本身调用这个方法要求parent view(父类的视图)重新调用他的onMeasure onLayout来重新设置自己位置。特别是当view的layoutparameter发生改变,并且它的值还没能应用到view上时,这时候适合调用requestLayout()。

  14. HashMap和Hashtable和HashTree的区别

  15. 写个冒泡排序法,快速排序法,说说二分查找的原理,以及二分查找的特性

  16. 谈谈http与https区别

  17. 谈一下线程池,以及平时在开发中的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值