最新 最热

【Android 逆向】修改 Android 系统文件 ( 重新挂载文件分区 | 在 /system/lib/ 只读目录下创建文件 | 修改 Android 系统文件的意义 )

在上一篇博客 【Android 逆向】修改 Android 系统文件 ( ro 只读文件系统 | 系统文件格式 | rootfs | tmpfs | devpts | sysfs |proc | /system ) 中 , 提出了要修改 Android 的系统文件 ;...

2023-03-29
1

【EventBus】事件通信框架 ( 发送事件 | 判断发布线程是否是主线程 | 子线程切换主线程 | 主线程切换子线程 )

在转发的过程中 , 需要针对订阅方法的 @Subscribe 注解的不同 threadMode 属性进行不同的线程模式处理 ;

2023-03-29
1

【EventBus】发布-订阅模式 ( Android 中使用 发布-订阅模式 进行通信 )

将上一篇博客 【EventBus】发布-订阅模式 ( 使用代码实现发布-订阅模式 ) 写的 发布-订阅模式 相关代码拷贝到Android Studio 工程中 ,

2023-03-29
1

【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入具体的操作细节 | 获取要注入事件的 View 对象 | 通过反射获取 View 组件的事件设置方法 )

Android 依赖注入的核心就是通过反射获取 类 / 方法 / 字段 上的注解 , 以及注解属性 ; 在 Activity 基类中 , 获取该注解 以及 注解属性 , 进行相关操作 ;

2023-03-29
1

【Binder 机制】Native 层 Binder 机制分析 ( 查找 Binder 服务 | svcmgr_handler | do_find_service )

在上一篇博客 【Binder 机制】Native 层 Binder 机制分析 ( binder_loop | svcmgr_handler | binder.c | binder_parse ) 中 , 简单介绍了 在 service_manager.c 中的 main 函数中调用了 binder_loop 方法 , ......

2023-03-29
1

【Android 启动过程】Activity 启动源码分析 ( ActivityThread 流程分析 二 )

在上一篇博客 【Android 启动过程】Activity 启动源码分析 ( ActivityThread 流程分析 一 ) 分析了从 ActivityThread 的 main() 函数启动 , ApplicationThread 绑定 , Application 创建 , 下面继续分析后续内容 ;...

2023-03-29
1

【Java 泛型】使用上下边界通配符解决泛型擦除问题

文章目录前言一、使用上边界通配符示例二、分析字节码的附加信息前言上一篇博客 【Java 泛型】泛型用法 ( 泛型编译期擦除 | 上界通配符 <? extends T> | 下界通配符 <?...

2023-03-29
1

【Google Play】APK 扩展包 ( 2021年09月02日最新处理方案 | 扩展文件名格式 | 扩展文件下载存放地址 )

2021年08月01日 之后 , Google 开始强制新应用必须使用 AAB 格式 的包 , 旧的应用仍可以使用 APK 格式的安装包 ;

2023-03-29
1

【Flutter】自定义 Flutter 组件 ( 创建自定义 StatelessWidget、StatefulWidget 组件 | 调用自定义组件 )

Flutter 开发中 , 组件可以是一个 Button 按钮 , Text 文本 , 也可以是封装好的一大块区域 ; 组件由 Widget 组成 ;

2023-03-29
1

【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | 完整代码示例 )

执行效果 : 在 Android 端嵌入 FlutterFragment , 通过

2023-03-29
1