- 博客(10)
- 收藏
- 关注
原创 Activity启动过程浅析
Activity启动流程浅析 (未完待续)我们经常通过下面的代码来显示启动一个Activity,但是在这简单的操作背后,你有没有想过TargetActivity的实例是何时被创建的呢?TargetActivity又是何时进入onCreate、onStart、onResume生命周期呢?TargetActivity的DecorView又是何时被测量、布局、绘制并显示的呢?本篇文章将带你逐步探索Acti
2017-03-17 13:54:30 352
原创 ListView优化
ListView优化(未完待续)通过上一篇文章《ListView原理分析》我们对ListView有了进一步的了解,知道了ListView如何进行View复用,以达到展示数万条数据而不发生OOM的目的。但是,在我们在使用ListView时仍然有一些需要注意的地方,并且,通过优化,我们可以使ListView具有更好的性能。首先引用一段Google的官方建议: 使ListView流畅滑动的关键是让主线
2017-03-15 11:00:40 318
原创 ListView原理分析
ListView工作原理分析ListView可谓是我们在Android开发中使用频率最高的组件之一了,并且,相比TextView、Buton等组件而言,ListView的使用也更复杂,因此,了解ListView的工作原理将使得我们能更好的使用ListView。此外,ListView一般用来以列表形式展示数据,但是在某些情况下,ListView要处理的数据可能多达数万条,但是并不会发生OOM,这也是L
2017-03-15 10:23:21 959
原创 AsyncTask与HandlerThread源码分析
AsyncTask与HandlerThread源码分析在Android中我们会经常遇到异步任务的使用需求,因此Android也提供了一些用于异步任务的支持。AsyncTask和HandlerThread就是Android提供的轻量级的异步类,它能让我们更方便的执行异步任务。AsyncTaskAsyncTask是一个抽象的泛型类,它是Handler与线程池的结合,通过AsyncTask,我们能很方便的
2017-02-23 15:49:09 298
原创 Android消息机制(Handler,Looper,MessageQueue)-源码分析
Android-消息机制之源码分析说到消息机制,Android开发者应该都不陌生。在Android开发过程中,需要使用消息传递的场景到处可见,如在子线程更新UI之类常见的操作都离不开消息传递。本篇文章主要从Handler 、Looper以及MessageQueue的运行机制及其源码方面对Android的消息机制进行讲解。0Android为了UI组件的访问效率考虑,将UI组件实现为非线程安全的,因此A
2017-02-23 15:48:43 424
原创 Android事件分发机制源码分析
Android事件分发机制源码分析说到Android的事件机制,相信很多人都不陌生。详细了解事件在Android中传递的规则,使得我们能够更加清楚事件处理逻辑,更好的处理滑动冲突之类复杂的问题。本文主要分析事件在各个View层级中的分发规则,从Activity接收到事件到一个事件被成功消费的详细过程。Activity的分发过程当有触摸事件发生在一个Activity时,这个事件首先会被传递给Activ
2017-02-23 15:47:27 204
原创 View的工作原理:measure、layout、draw
View的工作原理:measure、layout、draw当执行ViewRootImpl的setView时,会执行requestLayout方法,并调用scheduleTraversal方法,然后开始View的异步刷新。异步刷新过程由ViewRootImpl的performTraversal方法完成(该方法有六百多行=_=),在performTraversal方法中又会依次调用performMeas
2017-02-23 15:46:19 276
原创 MeasureSpec和LayoutParams
LayoutParams和MeasureSpec 说到View的Measure就离不开MeasureSpec。那么MeasureSpec到底是什么呢?它与我们熟悉的LayoutParams有什么联系呢? 简单的说: MeasureSpec是一个int值; MeasureSpec决定了View的measuredWidth/Height; 父容器的MeasureSp
2017-02-23 15:45:22 393
原创 Activity的生命周期
Activity的生命周期典型生命周期onCreate—>onStart—>onResune—>onPause—>onStop—>onDestroyonPause—>onStop—>onRestart—>onStart—>onResumeonStart:Activity已为可见状态,但该Activity未切至前台onResume:Activity已经切至前台,可以与用户进行交互(此时会onAttac
2017-02-23 15:44:01 240
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人