Android部分1. 事件的处理机制事件的分发,从外到内:调用Activity的dispatchTouchEvent()—>ViewGroup 的dispatchTouchEvent()—>某个点击的view的dispatchTouchEvent()事件的消费,从里到外:调用绑定在某个点击的view对象的监听器上,—->调用监听器的onTouch()—->调用view对象的onTouchEvent()—->ViewGroup 的onTouchEvent()—>调用Activity的onTouchEvent()一旦在消费的过程中,某一个方法返回true,表示消费了此事件。则不再继续向外传递。2. Handler、Message、Looper的原理具体原理看这篇博客:详解Message,Handler,MessageQueue,Looper的关系这里要注意两点:1) Looper的阻塞和唤醒以及message按照when属性排序2) message通过target知道自己将会被那个handler处理。3. 内存泄漏主要是让你列举内存泄漏的情况:1)资源未关闭,如cursor使用完后未调用cursor.close()2)Bitmap未recycle()3)文件操作,I/O流未关闭4)Dialog/PopupWindow等导致的Window Leak5)线程创建未使用静态内部类方式(非静态内部类持有外部类的引用)6)Context被生命周期长的对象引用(如单例等)4. ANR在Android里,应用程序的响应是由ActivityManager和WindowManager服务系统服务监视的,当检测到下面三种情况的任何一种时,Android就会针对特定的应用程序显示ANR对话框。1) Activity的UI在5秒内没有响应输入事件(例如,按键按下,屏幕触摸)–主要类型2) BroadcastReceiver在10秒内没有执行完毕3) Service在特定时间内(20秒内)无法处理完成–小概率类型作者:ae12来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...查看更多