自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 安卓设计模式应用总结

####1.建造者模式建造者模式顾名思义,类似一个大楼都是按照一砖一瓦建造完成, 他通常结合链式调用一起使用该模式Android 比较热门的第三方框架均有使用举例:Rxjava, Retrofit, Okhttp, Geendao, 等等#####2.观察者模式观察者模式是一种行为模式,定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

2025-03-09 10:45:08 1122

原创 Android 反编译

举例.locals 0.line 7)V.locals 1.line 11)V.line 12.line 13当前类的信息.class 单签类相对路径.super 父类.source 文件名称变量.field方法.method 方法开始.line 行数.param p1 第一个参数.local 局部变量使用的寄存器数量.prologue 正式开始的位置invoke-direct 成员方法invoke-virtual 映射方法,虚方法。

2025-03-09 10:44:35 169

原创 自定义安卓系统内应用之间ipc通信机制

安卓系统默认提供的广播,aidl等机制默认也是可以达到跨进程通信的,为什么此时自己还要自定义一套这样的机制,首先广播这种机制,的确十分方便,但是他的缺点也很明显,那就是时间太常,广播的延时基本上都是上百ms 的,aidl 性能提升的确挺好的,但是于此同时,aidl 操作的繁琐性的弊端,也就出现了,因此我就出现了两种想法去实现各个应用间的通信。

2025-03-09 10:44:14 279

原创 rxjava2.x 五种观察者模式

无论订阅发生在什么时候,只发送最后一条数据发送订阅之前的一条数据,以及之后的所有数据不论订阅发送在什么时候,都发送所有数据发送订阅之后的所有数据。

2025-03-09 10:43:44 224

原创 Android 8.1添加系统服务,sepolicy相关配置

5.2 找到SystemServiceRegistry的static{}, 并在其中注册该service。

2025-03-09 10:42:58 597

原创 android service 启动源码流程分析

【代码】android service 启动源码流程分析。

2025-03-09 10:42:26 405

原创 activity attach以上过程

> app.thread.scheduleLaunchActivity(…) // 最终调 ActivityThread scheduleLaunchActivity。attach 创建PhoneWindow, attachBaseContext, 用于。attach以后过程可参考以下文章。

2025-03-09 10:35:04 1311

原创 android 应用启动流程分析(三)

上篇介绍了进程存在的情况下应用的启动流程,该篇继续分享进程不存在时的流程。

2025-03-09 10:28:43 241

原创 android 应用启动流程分析(二)

根据上篇继续分析,进行以下分析。

2025-03-09 10:28:18 290

原创 android 应用启动流程分析(一)

startActivityLocked 又继续调用startctivity。iconClickListener对象是从launcher传递进去。AllAppsGridAdapter构造方法。launcher onclick 方法介绍。进程存在的情况下启动应用流程。关键的应用启动模式的设定。

2025-03-09 10:27:42 378

原创 StatusBar总结

简要说明:该分析基于android 8.1.0。

2025-03-09 10:27:00 589

原创 zygote android 应用启动之路

在zygoteInit.java的main方法中通过zygoteServer.runSelectLoop(abiList);

2025-03-09 10:25:17 205

原创 android, zygote, systemservice启动流程

位置// framework/base/core/com/android/internal/zygoteInit.java。位置// framework/base/core/com/android/internal/zygoteInit.java。在app_main的main方法中最终调用了zygoteInit.java中的main方法。(1). 在app_main的main方法中启动zygote进程。// 接受进程发来的消息创建相关应用。1.创建目录,挂载分区。// 创建socket。

2025-03-09 10:24:19 299

原创 安卓系统语言切换流程

一. mSystemThread.applyConfigurationToResources(mTempConfig)和Settings.System.hasInterestingConfigurationChanges(changes))这两部是用来更新语言配置参说,也就是在此时应用在拿去resource 资源时,拿到的是对应国际化中的资源信息。,这里更新了Activity 的资源和界面, 这只是Activity 资源的更新,那么挂载的fragment 和 window 怎么更新的呢,这里调用了。

2025-03-09 10:22:57 1304

原创 剖析 android getResource 过程,以及系统换肤实现

Runtime Resource Overlay 是在android 5.0后被引入,原理其实是应用调用资源getString/getDrawable 其实是将resource id 传到framework, 有该层判断资源的具体位置, framework 取资源的顺序先overlay 在原生apk目录。以上resource图片摘抄自网络(https://www.jianshu.com/p/c978cd21d5f9)3.2 使用target.apk 相同的keystore签名。3.3 优化apk文件。

2025-03-09 10:22:42 327

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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