Android知识
文章平均质量分 66
cao_null
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android UI绘制原理(一)——Activity、Window、ViewRootImpl基本关系
代码路径/frameworks/base/core/java/android/app/ActivityThread.java/frameworks/base/core/java/android/app/Activity.java/frameworks/base/core/java/android/view/Window.java/frameworks/base/core/java/android/view/WindowManagerImpl.java/frameworks/base/co原创 2021-08-24 17:49:59 · 382 阅读 · 0 评论 -
Android系统启动(三)——SystemServer
继续分析SystemServer基于Android Oreo 8涉及代码位置/frameworks/base/services/java/com/android/server/SystemServer.java/frameworks/base/core/java/android/app/ActivityThread.java/frameworks/base/core/java/android/app/ActivityManager.java/frameworks/base/servi原创 2021-08-10 10:54:24 · 534 阅读 · 0 评论 -
Android系统启动(二)——Zygote启动
上一篇讲到了init启动Zygote的过程,这次分析Zygote涉及类/frameworks/base/cmds/app_process/Android.mk/frameworks/base/cmds/app_process/app_main.cpp/frameworks/base/core/jni/AndroidRuntime.cpp/frameworks/base/core/java/com/android/internal/os/ZygoteInit.java/framewor原创 2021-08-04 17:45:49 · 1074 阅读 · 0 评论 -
Android init与zygote启动
init是Android用户空间启动的第一个进程。代码基于Android 8涉及类路径/system/core/init/init.cpp/system/core/rootdir/init.rc/system/core/init/init_parser.cpp/system/core/init/action.cpp/system/core/init/keyword_map.h/system/core/init/service.cpp/system/core/rootdi.原创 2021-07-30 17:39:42 · 771 阅读 · 2 评论 -
Activity启动流程
基于Android 28先看整体时序图,省略了一部分不重要的部分,保留了关键部分。蓝色是执行启动Acitivity的进程,粉色是AMS所在的进程,深红是最终启动的Activity进程。启动@Override public void startActivity(Intent intent) { this.startActivity(intent, null); }一路往下调最终是public void startActivityForResul.原创 2021-07-26 18:46:03 · 513 阅读 · 1 评论 -
Handler源码
从Handler入手public Handler() { this(null, false); }public Handler(Callback callback, boolean async) { if (FIND_POTENTIAL_LEAKS) { final Class<? extends Handler> klass = getClass(); if ((klass.isAnonymou原创 2021-07-12 17:16:23 · 157 阅读 · 0 评论 -
setContentView流程
AppCompatActivity的方法实际是调用先获取AppCompatDelegate委托类,最终调用AppCompatDelegateImplV9,只分析最常用的方法:所有方法都用到了ensureSubDecorprivate void ensureSubDecor() { if (!mSubDecorInstalled) {//确保执行一次 mSubDecor = createSubDecor(); // If a title was set.原创 2021-06-23 17:56:09 · 313 阅读 · 2 评论 -
在Android Studio中进行单元测试和UI测试
本文基于TestDevTalk的文章,原文是基于AS旧版本的,现基于最新AS 2.1.3 功能进行了一些修改。转载 2016-09-04 11:03:33 · 524 阅读 · 0 评论 -
Android调试利器--Stetho
也许你已经习惯了使用Fiddle或者Charles来抓取网络包,使用各种插件和工具查看sqlite数据库,但是现在有了更好的调试工具,为什么不尝试一把提高效率呢?Stetho是一个复杂的Android应用程序调试桥。启用时,开发者可以通过Chrome桌面浏览器调试App。开发人员也可以选择启用dumpapp工具,一个强大的命令行界面应用程序内部构件。原创 2016-07-02 22:19:35 · 641 阅读 · 0 评论 -
Android逆向工程(一)-Apktool使用
当我们辛辛苦苦写的代码被别人抄走的时候一定会让我们非常的抓狂。要学会防守,我们也需要知道别人进攻的方式,接下来我们学习下如何破解Apk。Apktool是家喻户晓的逆向工具,我们学习下如何使用它。原创 2016-06-14 22:05:29 · 5905 阅读 · 3 评论 -
Android设计模式-模板方法模式
Android设计模式-模板方法模式原创 2016-06-12 23:37:08 · 349 阅读 · 0 评论 -
Android加载图片你必须知道的技巧
Android加载图片你必须知道的技巧原创 2016-05-31 14:35:14 · 6790 阅读 · 1 评论 -
利用代码扫描工具提升Android代码健壮性
Android代码健壮性原创 2016-05-30 21:43:27 · 2636 阅读 · 3 评论 -
Android 最佳性能实践之内存管理(二)
Android 最佳性能实践之内存管理原创 2016-05-29 21:22:11 · 526 阅读 · 0 评论 -
Android 最佳性能实践之内存管理(一)
Android 性能优化翻译 2016-05-29 10:57:12 · 571 阅读 · 0 评论 -
mipmap 和 drawable 区别与误区
mipmap和drawable区别原创 2016-05-27 14:31:55 · 7742 阅读 · 0 评论
分享