新建(New):线程对象已经产生但是未启动, 如通过new产生一个线程对象,但是未调用start()之前 就绪(Runnable):每个多线程系统都有排程器,排程器会从线程池...
新建(New):线程对象已经产生但是未启动, 如通过new产生一个线程对象,但是未调用start()之前 就绪(Runnable):每个多线程系统都有排程器,排程器会从线程池...
最近在网上看到一篇对于Binder讲解绝佳的文章,读完感觉对于自己帮助很大,遂原封不动的转载于此,顺便膜拜一下大神。原文的Github链接:写给 Android 应用工程师的...
1. 准备 把某系统双开的两个app的信息进行对比 1.1 目录的对比 1.1.1 data目录对比 原应用: 被复制的应用: 1.1.2 apk所在目录对比 原应用: /d...
参考 我的Android进阶之旅------>android Button上面的英文字符串自动大写的问题解决android在使用过程中,解决 Button 和 TabLayo...
关于重构的一些话 为什么我们需要重构? 重构改进软件设计 只为了短期目的或者在完全理解整体设计之前编写出来的代码,会导致程序逐渐失去自己的结构。这时如果没有重构,程序的设计会...
TicktockMusic 音乐播放器项目相关文章汇总: Clean Architecture 架构:https://www.jianshu.com/p/15ea0fecb6...
背景 近几年,Android 相关的新技术层出不穷。往往这个技术还没学完,下一个新技术又出来了。很多人都是一脸黑人问号?不少开发者甚至开始哀嚎:“求求你们别再创造新技术了,我...
Android.mk简介: Android.mk文件用来告知NDK Build系统关于Source的信息。Android.mk将是GNU Makefile的一部分,且将被Bu...
单元测试是应用程序测试策略中的基本测试,通过对代码进行单元测试,可以轻松地验证单个单元的逻辑是否正确,在每次构建之后运行单元测试,可以帮助您快速捕获和修复因代码更改(重构、优...