自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iyl2uw的博客

Stay hungry, Stay foolish.

  • 博客(10)
  • 收藏
  • 关注

原创 Activity启动过程浅析

Activity启动流程浅析 (未完待续)我们经常通过下面的代码来显示启动一个Activity,但是在这简单的操作背后,你有没有想过TargetActivity的实例是何时被创建的呢?TargetActivity又是何时进入onCreate、onStart、onResume生命周期呢?TargetActivity的DecorView又是何时被测量、布局、绘制并显示的呢?本篇文章将带你逐步探索Acti

2017-03-17 13:54:30 352

原创 RecyclerView源码分析

RecyclerView源码分析先占个坑~

2017-03-15 11:25:05 272 1

原创 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关注的人

提示
确定要删除当前文章?
取消 删除