Android
mr.rui
这个作者很懒,什么都没留下…
展开
-
Android LeakCanary原理总结
一.ActivityRefWatcher用于监控Activity的内存泄漏; 1.通过Applicaton.registerActivityLifecycleCallbacks().ActivityLifecycleCallbacks监听Activity的生命周期onActivityDestroy(); 调用RefWatcher.watch()通知LeakCanary该Activity销毁了 2.随机产生一个key标识已经产生内存泄漏的对象 3.创建KeyedWeakRefer...原创 2020-09-18 16:55:54 · 324 阅读 · 0 评论 -
Android Activity启动流程详解
好读书不求甚解! 1. (Activity类)startActivity()-->Actvity.startActivityForResult() 2. (Instrumentation类).execStartActivity() 3. (ActivityManager类) .startActivity() 4. (ActivityManagerService类) .startActivity()->startActivityAsUser() 5. (Activ...原创 2020-09-18 11:21:49 · 378 阅读 · 0 评论 -
Binder机制心得
Binder机制由三部分组成,即: 1.Client; 2.Server; 3.ServiceManager。 三部分组件之间的关系: 1.Client、Server、ServiceManager均在用户空间中实现,而Binder驱动程序则是在内核空间中实现的; 2.在Binder通信中,Server进程先注册一些Service到ServiceManager中,ServiceManager负责管理这些Service并向Client提供相关的接口; 3.Client进程要和某一个具体的Service通信,必须原创 2020-09-16 11:32:14 · 114 阅读 · 0 评论 -
Android studio 升级后项目出错
升级完android studio运行项目出现以下错误 Default interface methods are only supported starting with Android N (--min-api 24): void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner) 解决方法在app build.gradle文件里加入 compileOptions {原创 2020-07-07 15:06:30 · 330 阅读 · 0 评论 -
Android ConstraintLayout 降低布局层次,布局优化首选
目录 介绍 ConstraintLayout的优点 ConstraintLayout使用方法 Relative positioning(相对定位) Margins(边距) Centering positioning(居中偏移) Circular positioning(圆心偏移) Visibility behavior(隐藏行为) Dimension constraints(尺寸约束) Chains(链) Virtual Helpers objects(辅助工具) ..原创 2020-05-24 17:07:27 · 1794 阅读 · 0 评论