书接上文,上回提到 B 站Android团队为了解决组件化后协作上的问题,已经采用了大仓(monorepo)的方案来组织代码。 国内实践大仓的团队少之又少,更别提 Android 的大仓了,几乎没有来自其它团队的可借鉴经…
标签:Android
Android插件化原理-Activity生命周期
在了解Android插件化原理之前,我们需要对Hook机制有一定的了解,具体可以阅读下面几篇文章: 1.Hook机制之动态代理 2.Hook机制之Binder Hook 3.Hook机制之AMS&PMS 我们知道…
adb命令
Android Debug Bridge:Android操作系统与桌面电脑间沟通的一个命令列工具 常用命令: 1. 显示当前运行的全部模拟器: adb devices 2. 对某一模…
Android高级进阶——View的工作原理(三)Draw过程
开篇: 前两篇已经详细的介绍了 Measure 以及 Layout 过程,就剩下一个 Draw 绘制过程了,Draw 其实也不是很复杂,但是想要彻底掌握绘制的技巧就需要了解 Canvas 的使用了,后续会再开几篇详细介绍…
我经历过的几次重构
最近准备推动团队产品进行代码重构,过程中遇到一些问题与困难,由此也回想起早年经历过的一些重构,其中有些并非我主导,在此简单记录,主要谈其中印象深刻的体会,不展开。 第一次重构 我刚参加工作不久,进入了一个刚刚重组成立的项…
Android之你不可不知道的小知识
打开软件安装页面 一般下载完APK文件之后,都要打开软件安装页面,提示用户进行安装,可以用以下方法(固定写法) Intent intent = new Intent(); intent.setAction("androi…
Android 的进程间通信 Binder——AIDL的入门使用(三)
进程间通信系列 AIDL的入门使用(一) AIDL的入门使用(二) AIDL的入门使用(三) Messenger的入门使用 序言: 1、AIDL的大致使用流程:首先是创建一个AIDL接口文件声明需要在客户端调用的接口,再…
是时候使用SaveState了
Android系统在5.0时,对进程内的内存管理做了一个优化,但并没有明确的文档说明这个优化。 这个优化为解决Android应用的内存问题,提供了一个新的思路。但如果开发者习惯于单Task的应用开发,或者从来不考虑Sav…
在慕课网授课后关于学习模式的实践和思考
之前有幸应邀参与了慕课网的免费课程《Android依赖管理与私服搭建》和实战电视连续剧《Android通用框架设计与完整电商App开发》,在早先录制关于依赖管理的课程时,就有一部分同学因为很少接触Linux或类Unix操…
android – 按类型过滤assetManager.list文件
我想从我的资产中的特定目录中获取我的html文件列表. 有代码>> private List<String> ListDir(String directory) { List<String&…
在Windows上为Android构建PJSIP?
我是 Android初学者,我必须制作一个voip应用程序,搜索后我发现更好的开源库是PJSIP. 我下载以下内容来构建PJSIP库: > PJSIP从here开始> Android NDK > SWI…
在Android中完成文本到语音播放后立即播放音频文件
我正在尝试开发一个 Android应用程序,只要文本到语音完成,就必须播放音频文件.这该怎么做? 最佳答案 如果我没有错误的想法,你想使用文本到语音来阅读一些文本并在此期间将语音音频存储到手机中?然后播放音频? 你检查过…