基于滑动场景解析RecyclerView的回收复用机制原理

四级缓存RecyclerView有mAttachedScrap->mCachedViews->ViewCacheExtension->RecycledViewPool四级缓存,先不涉及ViewCacheExtension,主要讲其他...

2018-05-29 20:15:47

阅读数 397

评论数 0

React Native学习

Native 和 JS互调原理Native调JSJava JS端都准备JsModule映射表(Java在启动时创建JsModule映射表)Java调用JSModule方法时,从Java映射表找到JsModule,调用Module的动态代理的方法,在动态代理里会callFunction通过JNI调用...

2018-05-24 21:38:49

阅读数 46

评论数 0

Activity布局创建

一个Activity在setContentView后创建的布局以及布局在Activity内的层级如下:setContentView整个过程1. 创建DecorView,DecorView实际是一个FrameLayout;2. 依据theme加载不同的窗口修饰布局文件;3. 加载setContent...

2018-05-23 23:05:46

阅读数 101

评论数 0

应用启动过程

1. Launcher 接收到点击事件,获取应用的信息,向 SystemServer(ActivityManagerService 简称AMS 运行在里面) 发起启动应用的请求。2. SystemServer(AMS) 请求 Launcher Pause (Launcher 需要保存状态进入后台)...

2018-05-20 22:11:51

阅读数 29

评论数 0

Google IO 2018

Android P支持刘海屏幕WIFI RTT支持室内导航优化耗电量优化安全性(统一的指纹身份验证对话框和针对敏感交易的高可信度用户确认)支持加载动图 ImageDecoder,支持图形圆角等变换操作支持多摄像头AI方向的应用:新版谷歌助理Gmail智能回复功能(将推出)相册更加智能(如可以让主体...

2018-05-16 20:44:56

阅读数 92

评论数 0

Kotlin

优点对比 Linux (Android基于Linux)上的其他进程通信方式(管道/消息队列/共享内存/信号量/Socket),Binder 机制的优点有:高效Binder数据拷贝只需要一次,而管道、消息队列、Socket都需要2次 通过驱动在内核空间拷贝数据,不需要额外的同步处理安全性高Bind...

2017-11-23 18:53:14

阅读数 64

评论数 0

RecyclerView缓存机制总结

参考 enter link description here入口Scroll、onLayout -> RecyclerView.dispatchLayoutStep2() -> RecyclerView.onLayoutChildren() -> ItemView:LayoutM...

2017-11-23 18:51:54

阅读数 2141

评论数 0

View绘制流程总结

参考 enter link description heremeasure流程 父View的measure的过程会先测量子View,等子View测量结果出来后,再来测量自己,measureChildWithMargins就是用来测量某个子View的 measure()不可以被复写,但onMeasu...

2017-11-23 18:51:30

阅读数 79

评论数 0

Lambda表达式

Lambda表达式是JAVA8的新特性匿名类new Thread( () -> System.out.print(“”));listA.forEach( (a) -> System.out.print(a));Predicate过滤 public static void main(ar...

2017-08-02 21:07:55

阅读数 87

评论数 0

Retrofit使用详解

Retrofit 依赖compile 'com.squareup.retrofit2:retrofit:2.3.0' compile 'com.squareup.retrofit2:converter-gson:2.3.0'定义一个请求接口public interface MeituServic...

2017-07-31 22:41:37

阅读数 422

评论数 0

Binder通信机制

haha

2016-12-06 15:25:54

阅读数 139

评论数 0

DataBinding框架

####简介 Databinding 是一个实现数据和UI绑定的框架,是一个实现 MVVM 模式的工具,有了 Data Binding,在Android中也可以很方便的实现MVVM开发模式。 ####解决什么问题 减少编写大量的毫无营养的代码, 如 findViewById()、setT...

2016-12-06 15:25:09

阅读数 343

评论数 0

Material Design

###依赖compile 'com.android.support:appcompat-v7:24.1.1'testCompile 'junit:junit:4.12'compile 'com.android.support:recyclerview-v7:23.4.0'compile 'com....

2016-12-06 15:16:00

阅读数 119

评论数 0

DataBinding实现MVVM

ViewModel和Model双向绑定,ViewModel和View单向绑定 Observable任何 POJO 对象都能用在 Data Binding 中,但是更改 POJO 并不会同步更新 UI。Data Binding 的强大之处就在于它可以让你的数据拥有更新通知的能力。有三种不同的动态更...

2016-09-22 20:08:16

阅读数 182

评论数 0

Android 7.0 通知新特性

Android 7.0 通知新特性Bundling notifications调用的setGroupSummary方法构造一个分组的信息,然后子通知调用setGroup被分到这个组里面。Bitmap largeIcon = BitmapFactory.decodeResource(getResou...

2016-09-22 20:07:27

阅读数 889

评论数 0

MotionEvent

android.view.MotionEvent MotionEvent源代码可以在ocs看到,当然你也可以在SDK中下载源代码,或者其他地方,如: https://github.com/android/platform_frameworks_base/blob/master/core/jav...

2016-08-12 00:49:35

阅读数 166

评论数 0

线程间通信之Handler

Handler消息机制使用Handler在主线程和子线程之间传递消息的机制,就是通过Handler获取主线程的消息队列,将子线程的消息发送到主线程的消息队列,由Looper取出后交给目标Handler处理。Looper首先主线程会默认调用Looper.prepare()创建Looper,创建的Lo...

2015-11-08 20:05:26

阅读数 201

评论数 0

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