- 博客(7)
- 资源 (12)
- 收藏
- 关注
原创 Android N 调用相册crash- FileUriExposedException
通过Android N提供的类FileProvider来处理就可以啦,即把file://开头转化成content://开头。具体处理过程如下:1.1 在AndroidManifest.xml里面添加如下代码:应用间文件共享-->provider android:name="android.support.v4.content.FileProvider"
2016-10-21 13:51:37 672
原创 AGP 8.0 适配 - 问题列表
不管是基于编译速度,包体积,新特性等那个方面的考虑,大家都应该开始AGP 8.0的适配了,下面使我适配过程中遇到的各种问题,这里列出来,给大家的适配做一个参考。
2023-08-05 15:18:11 740 3
原创 AGP 8.0 适配 - transform适配
Google的AGP 8.0 已经出来一段时间了,基于8.0有许多新的特性,比如baseline profile,dexlayout等,这些特性可以大幅度的提升app的启动速度。该案例实现如下功能:收集线上代码类的使用情况,从而通过数据分析,针对线上未使用的类,进行移除,而从缩减包体积。第二种是针对需要先全局遍历所有的字节码,找到对应类,方法,相关的数据,然后二次遍历,进行插装。说明:从上图可以看出,针对具体的io流的遍历,官方已经帮我们覆盖掉了,我们只需要关注与要做的字节码插装的实现就可以了。
2023-08-05 14:37:21 1248 1
原创 AGP 8.0 适配 ---- jvm target compatibility
这个属性与Gradle JDK的版本设置是不同的。AGP升级的过程,主要是Gradle JDK的版本的修改,所以为了尽量不影响代码功能,我们应该为java和kotlin代码指定具体的jvmTarget,这个Gradle JDK的升级,只需要适配编译脚本的jdk兼容性,而不需要考虑代码的jdk兼容性。Gradle JDK的选择决定了在构建过程中使用的Java版本。大家从上图可以看出,每次Android编译系统AGP的升级,尤其是大版本的变动,都会导致Jdk的升级,而jdk升级,很容易导致编译出错。
2023-07-28 17:48:51 1231 1
原创 Android 弃暗投明之Handler
弃暗投明在这里是个戏称,我想表达的是拨开乌云重见天日的意思。一、引言操作系统中资源分配和调度的基本单元是进程,Android操作系统也不例外。进程还可以细化成线程,线程由CPU调度和分配的基本单位。Android的每个应用程序都由zygote fork出来并分配的自己的uid和gid进行沙盒隔离,而进程内的线程间是否可以直接通信呢?根据Android的JMM(内存模型)我们知道,同
2017-09-11 11:55:36 237
Android Wear DataLayer
2016-11-03
ActiveMovie控件的循环播放功能的实现
2010-06-14
Visual+C++开发入行真功夫光盘 源代码
2010-06-14
Visual C++ 程序设计学习笔记1~12章源代码
2010-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人