Android Git使用
前言
作为一个程序员,你保存代码的方式是什么?更新代码的方式是什么?你还...
协程 Kotlin Coroutine 初探
协程 kotlin Coroutine
目录:
1. Coroutine 的基本使用
1.1 小结
2. CoroutineSco...
Android NDK开发基础
前言
NDK即Native Development Kit,是Android上用来开发c/c++的开发工具包。 ...
Rxjava 线程切换原理
前言
rxjava 可以很方便的进行线程切换, 那么rxjava是如何进行线程切换的呢?...
android中Serializable 比 Parcelable好在哪?
一、序列化的目的:
(1)永久的保存对象,将对象数据保存在文件、磁盘或...
ASM字节码插桩
为什么进行全埋点?
以往手动形式埋点
以往的埋点方式都是人为进行定义名称和选...
Android使用AspectJ
一、基本介绍
1. AOP
在了解AspectJ前,我们首先了解另外一个名词:AOP
1.1 概念...
自定义Android IOC框架
一、IOC简单科普
所谓IOC,即控制反转(Inversion of Control,英文缩写为IoC...
Android 面试之必问Android基础
1,Activity
1.1 生命周期
正常情况系,Activity会经历如下几个阶段:
onCrea...
Android线上bug 通过mapping文件找对应行号
App打包发布应用市场的时候正常点的一般都会加个混淆在打包丢上去吧
由于是线上...
全网首发:Android Camera2 集成人脸识别算法
这可能是全网唯一一篇介绍Android Camera2接口集成人脸算法的文章了~
写在前面:
...
Android 12+ 蓝牙外放问题总结
背景
Android 12 上发现存在蓝牙外放问题,原因是存在多个应用设置通话音量,...
Android Audio支持Usb 音频设备
背景
最近遇到一些场景,Android 需要支持通话音量下从一些usb外设采集音频数...
macos上android ffmpeg编译与使用
本篇介绍
本篇介绍下如何在macos上编译android的ffmpeg,并在android工程中使...
getGlobalVisibleRect() 与 getLocalVisibleRect()
1. 讲解这两个方法之前, 首先我们先看下一个图片, 只是一个简单的Activity, 一个Li...
[源码分析]ViewGroup.addView导致宽高失效问题
开发中,相信经常会使用到inflater动态生成并加载View,例如:
View v = infla...
序列化机制深入了解 | Java
序列化是将对象保存在磁盘中,或允许在网络中直接传输对象。对象序列化机制允许...
Android计算图片占用内存大小
前言
对于一张图片,你知道应该存放在那个资源目录下面吗,或者说,放在那个资...

