2017android技术点,Android技术点

1.handler源码,handler Handler, Looper的理解

2.rxjava机制 rxjava retrofit

3.view绘制流程

4.事件派发流程,Touch事件机制

5.MVP MVVM

6.InterService线程同步

7.Eventbus和广播区别

8.Android开发中常见的内存泄漏

对象没有反注册

数据库cursor没有关闭

Bitmap没有回收

ListView item没有复用

Handler在Activity中定义为非static的匿名内部类

1.造成泄漏的原因是拥有更长生命周期的对象持有短生命周期对象的强引用。

2.单例对象的生命周期是和应用一样的,Application的生命周期也是和应用一样的,所以如果它没有持有比它生命周期更短的对象的引用就不会       发生内存泄漏

正确使用Context

一般Context造成的内存泄漏,几乎都是当Context销毁的时候,却因为被引用导致销毁失败,而Application的Context对象可以理解为随着进程存在的,所以我们总结出使用Context的正确姿势:

1:当Application的Context能搞定的情况下,并且生命周期长的对象,优先使用Application的Context。

2:不要让生命周期长于Activity的对象持有到Activity的引用。

3:尽量不要在Activity中使用非静态内部类,因为非静态内部类会隐式持有外部类实例的引用,如果使用静态内部类,将外部实例引用作为弱引用持有。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值