Android之Handler内存泄漏分析及解决
匿名内部类 Handler 是常见写法,却很容易把 Activity 钉死在主线程消息队列里。Lint 会警告:Handler classes should be static or leaks might occur. 一、介绍 先看这段很常见的代码: public class SampleAct…
匿名内部类 Handler 是常见写法,却很容易把 Activity 钉死在主线程消息队列里。Lint 会警告:Handler classes should be static or leaks might occur. 一、介绍 先看这段很常见的代码: public class SampleAct…
android的消息处理有三个核心类:Looper,Handler和Message。其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道,因此我没将其作为核心类。下面一一介绍: android的消息处理有三个核心类:Looper,Handl…
Android 事件处理更准确的说法是「分发、拦截、处理」。核心是三个方法:dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent。 一、三个方法各管什么 dispatchTouchEvent 决定事件是否分发。TouchEvent 发生时先到顶层…
图形界面开发有两件大事:控件布局,以及控件的事件处理。Android 的事件处理秉承了 Java SE 图形界面的风格,提供两套机制:基于监听,以及基于回调。 基于监听:为界面组件绑定特定的事件监听器。基于回调:重写组件的回调方法,或重写 Activity 的回调方法。 一、基于监听的事件处理 监听…