移动开发
7-brain
成长是一篇等待谱写的乐章,等待着我们谱写出一个个扣人心弦的乐符。
展开
-
源码角度聊聊BlockCanary的原理
今天我们来说说BlockCanary的核心原理,BlockCanary是一个能检测主线程是否卡顿的框架。那么它为什么可以检测主线程卡顿呢?我们都知道Android是一个消息驱动型的系统。每当我们创建一个进程的时候,在ActivityThread内部都会为我们去创建一个主线程的Handler,然后开启消息的队列的轮询。**1.ActivityThead.main()** public...原创 2020-03-29 16:12:30 · 4564 阅读 · 0 评论 -
跨进程通讯Binder的onTransact方法一定在binder线程池的binder线程中执行吗?
一.引言在大多数人的印象中,在Android中用Binder机制进行跨进程通讯,Binder会在onTransact方法中处理Binder驱动发送过来的消息,这个方法会运行在Binder驱动的Binder线程池中。其实这么说是不对的,片面的,在大多数情况下,onTransact()方法的确是在Binder线程中处理Binder驱动发送过来的消息。除了一种情况,在两个进程中都存在Binder实体...原创 2019-02-28 22:06:13 · 2915 阅读 · 3 评论 -
从Android开发者的角度看一看IOS和Flutter中的列表实现
引言:大家都知道,目前IOS和Android是当前移动操作系统的主流,而Flutter作为Google推出的跨平台的UI框架,并且在未来作为Google新系统Fuchsia的开发框架,它采用dart语言编写,前景在目前是被很看好的。如果我们在Android领域已经有了一定深入的了解,去了解IOS平台和Flutter的开发是大有裨益的,可以增强我们对移动端的理解。List作为我们在开发中最常用的控件...原创 2019-03-21 23:25:55 · 585 阅读 · 0 评论 -
LeakCanary原理解析,理解起来超简单!
一.引言LeakCanary我相信大家都不会陌生的,在我们的开发过程中,为了避免内存泄漏的问题,我们可以在我们的项目中集成LeakCanary,来观察我们的应用程序是存在内存泄漏的问题。今天我们就来看看LeakCanary的原理,了解它是怎么去判断我们的应用程序是发生了内存泄漏的。二.源码解析在LeakCanary的源码中使用到了一个非常关键的数据结构,这个数据结构是LeakCanary判断...原创 2019-08-17 00:17:02 · 14930 阅读 · 5 评论