ANR的定义 系统通过交互组件和用户交互进行超时监控,主要用来判断应用进程是否存在卡死或者响应过慢的问题。 导致ANR的原因 应用层导致ANR: 函数阻塞:死循环,主线程IO...

ANR的定义 系统通过交互组件和用户交互进行超时监控,主要用来判断应用进程是否存在卡死或者响应过慢的问题。 导致ANR的原因 应用层导致ANR: 函数阻塞:死循环,主线程IO...
OpenGL概述 OpenGL(Open Graphics Library)是一个跨平台的、语言无关的应用程序编程接口(API),用于开发生成二维和三维图像的应用程序。这个A...
H.264编码详解 H.264即AVC(Advanced Video Coding),在下文中首先说明H.264编码的码流结构,然后会进一步深入说明H.264编码的方法和原理...
Kotlin源码结构分布位置: 协程源码结构协程源码按道理可以分成两个仓库,一个是Kotlin仓库,一个是Kotlin协程仓库。Kotlin仓库 https://github...
打包打开大概概括为几步: 通过aapt打包res资源文件,生成R.java,resource.ars和res文件,resources.arsc保存的是一个资源索引表,可以理解...
热更新和插件化 插件化的内容是原来apk没有的东西,热更新是在原来的基础做改动。 插件化在代码中有固定的入口,热更新可能改变任意位置的代码。 热更新的原理 虚拟机在加载cla...
插件化 插件化就是将模块单独打包成一个apk,放在服务器上,需要找个模块的时候再下载下来,加载、 插件化的基础就是反射class Java编译后的文件,每个类对应一个cla...
AIDL 跨进程通信(IPC)的方式很多,AIDL只是其中的一种,还有Bundle,文件共享,Messenger,ContentProvider和Socket等进程间通信方式...
1.初始化加入依赖:com.squareup.leakcanary:leakcanary-android他初始化是内部定义了一个ContentProvider然后再Conte...
Binder的定义 从机制和模型角度来说,Binder是一种Android中实现跨进程通信的Binder机制模型。 从模型的结果和组成来说,Binder是一种虚拟的物理设备驱...
Gilde三大主线 Gilde.with(this).load("url").into(iv_image) 使用来很简单,但是源码却是异常庞大,所以这次只挑一些重点的去看。 ...
SDP结构要先熟悉一下 SDP type=value的格式而且对大小敏感,会话级别是从v=开始的,字段必须是(REQUIRED)有的字段是可选字段 。这样可以增加错误检测能力...
Okhttp的大体流程 通过创建OKhttpClient创建一个Call,发起同步或者异步请求。 Dispatcher对创建的RealCall(Call具体实现类)进行统一管...
WebRTC我编译的97版本的webrtc_android,这里我就以Android视角从视频采集,渲染,编码,发送四个流程来答题说一下WebRtc的视频推流过程, 采集 A...
在说Retrofit之前 必须有了解动态代理,因为Retrofit的核心就是动态代理。 动态代理 动态代理就是在运行时动态创建某个interface的实例,通过Proxy.n...
在回声消除中webrtc的97版本 aec3应该是最好的,这里说一下单独拿出aec做测试的记录。 配置开发环境使用过FFmpeg和Opnecv的sdk类似,把webrtc的库...
WebRTC jitterbuff 缓存机制 webrtc在弱网环境下或者网络不稳定的情况会出现网络抖动导致数据传输问题,webrct加入了jitterbuff 进行保证网络...
下载MNN开源框架 git clone https://github.com/alibaba/MNN.git[https://github.com/alibaba/MNN.g...
在https://central.sonatype.com[https://central.sonatype.com]注册 账号 建议用github直接登录,因为在创建nam...
Gradle中,没有Assemble任务 1. 在编译aar包或者编译module的时候,没有release包,我们一般都是通过assemble进行编译。 如果在Gradle...