android framework
文章平均质量分 92
QQxiaoqiang1573
这个作者很懒,什么都没留下…
展开
-
小心stopAppSwitches这个坑
简介本文是在APP界面点击Home键后,马上在后台启动Activity会延时5秒而引起的源码分析。案例还原在APP界面,点击Home键后会打开一个悬浮窗,以表示APP在后台运行。点击悬浮窗上的按键会返回APP。就是这么一个简单的过程,却无意中发现了这个BUG。当我点击Home键后,回到主桌面,然后点击悬浮窗上的按钮返回APP,而APP不会马上返回,需要延时一段时间才会启动,开始我以为是APP初始化比原创 2017-08-09 20:17:07 · 5381 阅读 · 1 评论 -
Android 9.0 System.getProperty("java.library.path") 源码解析
本文将一步步解析 System.getProperty("java.library.path") 在 Android 9.0 中的源码实现。话不多说开干。源码分析首先,来分析下 System.getProperty() 函数的实现。libcore/ojluni/src/main/java/java/lang/System.javapublic static String getProper...原创 2019-09-28 11:37:24 · 3209 阅读 · 0 评论 -
Android windowTranslucentStatus属性源码分析
简介我们在设置系统样式时,将windowTranslucentStatus和windowTranslucentNavigation属性设置为true后,Activity就会显示为如下效果:状态栏和导航栏都会显示成半透明的状态。并且布局会拓展到系统栏的后面。本文就是要从源码分析windowTranslucentStatus的实现原理。因为windowTranslucentNavigati...原创 2018-04-10 21:24:00 · 7219 阅读 · 0 评论 -
Android 4.4.2开机动画支持系统语言切换
前言一般情况下我们Android设备的开机动画是以图片动画的形式显示出来的,如果我们的动画里面有文字,而恰好我们设备的必须支持多语言。肿么办,原生系统的开机动画只有一个,怎么样才能做到支持多语言多动画呢?项目思路要想支持多语言多动画,我们肯定得知道当前设置的是什么语言?然后,再根据语言去加载对应的开机动画(准备对应语言的开机动画素材包,即bootanimation.zip)。这里没有介绍Androi原创 2017-11-27 20:06:24 · 1435 阅读 · 0 评论 -
Android BOOTCLASSPATH详解
BOOTCLASSPATH被赋值流程分析system/core/rootdir/init.environ.rc.in# set up the global environmenton init export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin export LD_LIBRARY_PATH /vend原创 2017-12-05 09:01:13 · 8049 阅读 · 3 评论 -
Android ClassLoader之getSystemResourceAsStream源码分析
简介本文是由上篇Android LOCAL_JAVA_RESOURCE_FILES 的妙用 延伸出来的,主要讲解ClassLoader.getSystemResourceAsStream的底层实现。本文篇幅较长,主要是源码较多,如果不贴源码,又不好理解,所以为了理解深刻,请慢慢细读。源码分析先来看下ClassLoader的代码,然后我们去分析它的实现过程。libcore/libdvm/src/ma原创 2017-12-20 15:48:04 · 1172 阅读 · 0 评论 -
Android LOCAL_JAVA_RESOURCE_FILES 的妙用
简介在研究Android系统开机流程的时候,看到preloaded-classes被用来做预加载类的载体,但没明白它是怎么编译到系统中的。因此,特意去研究了下,特此记录下来。将preloaded-classes编译到framework.jar中frameworks/base/Android.mkinclude $(CLEAR_VARS)LOCAL_MODULE := frameworkLOCAL_原创 2017-12-11 17:49:27 · 669 阅读 · 0 评论 -
Android 4.4.2 exfat 移植
简介Android原生的平台不支持NTFS和exFAT格式的文件系统,但是Linux已经有相应的开源代码,因此只需找到相应的源码将其移植到Android上即可。我目前使用的系统是Android 4.4.2的,系统里已经集成了对NTFS文件系统的支持。所以我现在要做的就是将exFAT格式的文件系统移植过来。基本概念exFAT(Extended File Allocation Table),又名FAT6原创 2017-11-14 20:19:28 · 4974 阅读 · 1 评论 -
Android 9.0 System.loadLibrary 的源码解析
本文主要讲解下Android 9.0 System.loadLibrary 的源码实现。源码分析libcore/ojluni/src/main/java/java/lang/System.javapublic static void loadLibrary(String libname) { Runtime.getRuntime().loadLibrary0(VMStack.getC...原创 2019-09-30 17:27:09 · 2899 阅读 · 1 评论