
0_工作经验
一些常用的工作经验
之前的学徒,之后的大佬
自己就是最大的对手
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android 资源替换:静态替换 vs 动态替换
静态替换是在通过指定资源目录,将定制资源直接替换目标应用的原始资源,最终打包到系统镜像中。替换后原始资源被永久覆盖,运行时无法修改,类似「编译时的强制复制替换」。原创 2025-08-20 16:44:49 · 776 阅读 · 0 评论 -
安卓定制开机动画的bootanimation.zip的注意点
的细节非常关键,这直接影响安卓系统能否正确识别和播放开机动画。原创 2025-08-16 11:27:09 · 151 阅读 · 0 评论 -
AIDL当Parcelable序列化的数据类通信时报“Class not found when unmarshalling“找不到该类时的解决方案
Android应用中存在多个类加载器,不同的类加载器负责加载不同来源的类(如系统类、应用自身类、动态加载的插件类等)。会被解决——本质是让系统用“正确的钥匙(类加载器)”打开“正确的门(找到类)”。,在跨进程/组件通信场景中,类加载器的不匹配是导致。这就是为什么手动指定类加载器后,原创 2025-08-02 23:14:35 · 365 阅读 · 0 评论 -
常用adb命令
9.19 停止 ADB 服务器。9.20 查看对应包名的log。9.18根据TAG筛选log。9.15清除对应包名的缓存。9.17手动控制屏幕旋转。9.14 杀进程和服务。9.16查看窗口信息。原创 2025-08-02 10:40:45 · 145 阅读 · 0 评论 -
常用git命令
7.26 查看当前 Git 仓库配置的 远程仓库地址(URL)7.21只看log的commitId中改动了哪些文件。7.9.根据commit号查看patch修改的信息。7.5.回退提交且保留修改记录且文件修改记录还在。7.3.追加修改刚commit的提交记录信息。7.23 搜索对应作者名的commit 信息。7.28 查看当前文件夹下的log提交记录。,如果直接reset,文件修改记录就在。7.20 放弃cherry-pick。7.25 修改远程仓库的 URL。7.6.查看之前改动的patch。原创 2025-08-02 10:38:41 · 250 阅读 · 0 评论 -
Logcat日志分析
是Android日志中标识应用崩溃的核心关键字,其日志包含的异常类型、调用栈等信息是解决应用崩溃问题的“关键线索”。开发者在调试时,可通过Android Studio的Logcat工具搜索该关键字,快速定位并修复错误。场景traces.txt 关键特征问题根源解决方案iowait 过高主线程卡在java.io相关方法,kernel CPU 占比高主线程执行耗时 I/O 操作异步化 I/O,优化读写效率线程阻塞主线程状态为BLOCKED,等待锁被其他线程持有。原创 2025-07-25 18:32:56 · 752 阅读 · 0 评论 -
Android Framework学习专题目录(持续更新)
1.1Logcat日志分析原创 2025-07-25 17:27:02 · 223 阅读 · 0 评论 -
普通三方App一般只能使用安卓原生Framework提供的公开接口
厂商定制接口:依赖厂商源码环境编译,仅适用于系统应用,三方App无法直接使用(受限于编译环境和系统权限)。安卓原生接口:包含在官方SDK中,三方App可直接调用,通过常规工具(Android Studio)编译即可。原创 2025-07-24 16:25:52 · 410 阅读 · 0 评论 -
系统开发和普通应用开发中所说的“SDK”含义
【代码】系统开发和普通应用开发中所说的“SDK“含义。原创 2025-07-16 14:17:43 · 662 阅读 · 0 评论 -
directBootAware 在开机未解锁时能启动对应的应用
【代码】directBootAware 在开机未解锁时能启动对应的应用。原创 2025-07-13 00:53:23 · 150 阅读 · 0 评论 -
常见的Android 系统命令
【代码】常见的Android 系统命令。原创 2025-07-04 11:27:10 · 232 阅读 · 0 评论 -
如何理解“耦合度”
项目高耦合低耦合设计方式继承、new 对象接口、组合、依赖注入可维护性差好扩展性差好测试难度高低一句话总结:耦合度越低,系统越灵活、稳定、易维护。如果你有具体的类或模块,我可以帮你分析它的耦合度并给出优化建议。原创 2025-06-16 19:49:52 · 442 阅读 · 0 评论 -
CopyOnWriteArrayList :防止多线程并发数据错误异常
是 Java 中 java.util.concurrent 包下的一个线程安全的 List 实现类,适用于读多写少的并发场景。线程安全机制:每次修改操作(如 add, set, remove)都会创建一个新的数组副本,而读取操作不需要加锁。所属包:java.util.concurrent.CopyOnWriteArrayList。全称:Copy-On-Write(写时复制)底层结构:使用数组实现。原创 2025-05-16 12:31:47 · 138 阅读 · 0 评论 -
java的引用理解
原因:强引用提供了最可靠、最可预测的对象生命周期控制。原创 2025-04-01 19:28:23 · 190 阅读 · 0 评论 -
记:app启动更换系统语言,app会重走生命周期
当更改系统语言后,会在这个activity中的onConfigurationChanged去响应。当系统应用设置当前系统语言,会导致当前系统应用app重启,重走生命周期,在。中添加configChanges,不随着系统语言重走生命周期。原创 2025-03-19 20:01:59 · 294 阅读 · 0 评论 -
3.记:Android EditText接收扫码枪输入数据丢失问题
【代码】3.记:Android EditText接收扫码枪输入数据丢失问题。原创 2024-09-10 20:34:44 · 459 阅读 · 0 评论 -
2.记:static不能用于集合,数据会混乱(Java)
在Java中,static关键字用于声明静态成员,这些成员属于类本身,而不是类的实例。当static被用于集合(如List、Set或Map)时,这个集合就成为了所有类实例共享的单一实例。这意味着,如果你在一个地方修改了这个静态集合,那么从其他地方访问这个集合时,看到的也是被修改后的状态。这可能导致数据混乱,尤其是在多线程环境中,因为多个线程可能会同时修改这个集合,导致不可预测的行为和竞态条件。原创 2024-08-01 11:36:51 · 499 阅读 · 0 评论 -
1.记:两个List之间不能直接=赋值(Java)
这种情况下,list2并不是list1的一个独立副本,而是指向同一个List对象的引用。这意味着对list2的任何修改都会影响到list1,反之亦然。这就是所谓的“引用传递”而非“值传递”。1.两个List之间不能直接=赋值,这样数据会同步,数值copy要用addAll();原创 2024-08-01 11:33:22 · 377 阅读 · 0 评论 -
textview文本框实现跑马灯跑一次
【代码】textview文本框实现跑马灯跑一次。原创 2025-02-14 19:57:07 · 114 阅读 · 0 评论 -
jadx反编译使用
可修改jadx-gui.bat的将4g改变8g,反编译使用不会那么卡。点击bin文件夹种的jadx-gui.bat,点击启动。例子:apk字符串找寻。原创 2025-02-11 10:56:27 · 412 阅读 · 0 评论 -
[AOSPXRef]看安卓源码搜索使用解释
AOSPXRef原创 2024-10-22 11:47:49 · 491 阅读 · 0 评论 -
fork和创建新线程的不同
forkfork:一个父进程创建一个子进程,子进程会拥有自己的独立内存空间,然后copy父进程的资源到自己的独立内存空间里面,这样子进程与父进程都在相互独立的内存空间中运行,需要通过进程间通信(如管道、共享内存、消息队列等)来实现数据共享。创建新线程创建新线程:在进程中创建线程,共享进程的资源,而且在多线程下可能会出现资源竞争的现象。原创 2024-04-09 10:59:05 · 198 阅读 · 0 评论 -
很喜欢的博客文章系列
2.framework源码系列。3.技术博客大神系列。原创 2024-03-25 16:03:13 · 254 阅读 · 0 评论 -
AOSP14源码下载及编译与debug调试
4.lunch sdk_phone_x86_64-userdebug(aosp自带手机模拟器产品名)5.启动emulator (先执行sudo chmod -R 777 /dev/kvm),设置Linux 构建环境,根据版本安装所需的软件包。存放代码的硬盘文件格式最好是ext文件格式!6.AS进行Choose Process调试,AOSP源码下载和编译步骤。原创 2024-03-25 15:54:14 · 1289 阅读 · 2 评论