自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大勇的专栏

Android APP System

  • 博客(26)
  • 资源 (11)
  • 收藏
  • 关注

原创 Android资源管理框架-------之OverlayManagerService中overlay package的生效(三)

        

2020-12-01 23:40:28 2128 1

原创 Android资源管理框架-------之OverlayManagerService简介及其数据的维护更新(二)

        Android O引入了Overlay Manager Service (我们后面就简称OMS了),使得我们可以方便地动态地去enable或者disable一个overlay package。Android 10 引入了idmap2,它会在init的时候去启动一个守护进程:idmap2d,这个进程会向service_manager中去注册idmap相关的service,也就是说我们是可以通过...

2020-07-15 21:44:26 6645 6

原创 Android资源管理框架-------之AssetManager2总述(一)

        Android对于资源管理这个模块的折腾从Android-Lollipop开始就从未停止过:Android-Lollipop引入了Runtime Resources Overlay,但是bug比较多,多得根本不能用;Android-Marshmallow算是修正了这些bug,Runtime Resour...

2020-01-04 19:41:43 2412 3

原创 Android资源管理框架-------之资源的缓存和preload(十)

        对于integer、bool等values类型的资源还好,对于比较大的资源比如Drawable等,如果我们每次去获取,都要从resources.arsc中查寻资源相关的信息(对于Drawable来说就是资源路径),然后在根据资源信息(路径)去加载图片,那么这个过程将会非常耗时。所以,为了加快资源的获取速...

2019-12-04 13:57:52 1566

原创 Android资源管理框架-------之资源配置信息的更新(九)

        

2019-11-24 18:17:09 589

原创 Android资源管理框架-------之资源的筛选(八)

        我们知道Android资源管理框架的一个重要作用就是为Android应用兼容不同的软硬环境。具体到实现上,就是每一个Android应用要想兼容某种场景,就要为这种场景提供特定的资源。比如,我们在App中想要兼容中文、德文、韩文,那么我们就可以在app中分别提供这三种语言的资源,也就是在...

2019-11-21 20:56:12 874

原创 Android资源管理框架-------之Bag资源信息的获取(七)

        前文我们以Integer为例介绍了最简单的资源的获取,说它是最简单的主要是基于以下两个点:第一,它没有Bag;第二,它是value类型的资源,资源索引表里存放的是最终值,而不是资源路径等资源相关的信息,我们不需要再根据这些信息去取得最终值(比如去加载图片,然后创建drawable对象等等)。我们在这篇文...

2019-11-13 21:13:39 1054

原创 Android资源管理框架-------之最简单的资源信息的获取(六)

        前文我们说过了Android资源索引表,也就是resources.arsc是如何一步一步加载到内存,然后保存在资源管理相关的数据结构中的。本文,我们说说,当我们去访问资源相关的信息时,Android是如何一步一步把结果从这些数据结构中提取出来,返回给我们的。...

2019-10-22 16:59:21 731

原创 Android资源管理框架-------之资源信息的加载(五)

        在Android资源管理框架-------之Android中的资源包(二)一文中,我们讲了Android对资源包的管理,当然这个管理我们说得比较宏观。在了解了Android资源管理相关的一些数据结构后,我们就可以深入地学习Android对资源包的管理和组织了,本篇我们先说资源的加载。 &nb...

2019-10-14 18:10:07 687

原创 Android资源管理框架-------之资源管理的基本数据结构和Bag资源(四)

        上一篇我们介绍了resources.arsc以及与之相关的主要数据结构,这些数据结构大多以ResTable_开头,主要是用来描述resources.arsc非常方便。不过,要用这些数据结构来对Android资源进行管理,还是有些吃力,Android为了更加方便地管理资源,还有另外一套数据结构,它们主要是...

2019-09-30 16:35:29 1001

原创 Android资源管理框架-------之resources.arsc(三)

        上一篇我们介绍了Android中资源包相关的东西以及Framework是怎么一步步加载system和应用的资源包的,但是我们的介绍到java层的AssetManager就中止了,没有继续深入,原因是继续深入的话,主要就涉及到ResTable相关的东西了,而ResTable对Android资源的管理,非常...

2019-09-09 19:26:18 2766

原创 Android资源管理框架-------之Android中的资源包(二)

        我们知道一个APK中主要包含了dex字节码、AndroidManifest.xml、res目录下的各种资源、以及resources.arsc等等,也就是说一般情况下我们的一个APK既是一个dex包,也是一个资源包。注意我们前面说的是一般情况下,既然有一般,那么肯定也就有二般~ ~。典型的二般情况有种:资...

2019-09-02 21:55:27 2007

原创 Android资源管理框架-------之总述(一)

        我们知道对于一个APK而言,主要就两部分:DEX字节码和资源。其中,为了让开发者在不同的环境下更加方便地管理和使用资源,Android专门提供了一套资源管理的框架。关于Android的资源,我们在Android资源管理概述中有过简单描述,网上也有大量介绍,我们就不再赘述。 本篇,我们先介绍一下这个框架(...

2019-08-29 22:20:08 1725

原创 Android资源管理中的Theme和Style-------之实现(二)

        前文我们从总体上介绍了theme和style,我们要注意theme和style的本质,以及它们和AssetManager(或者说Android中的资源)的区别和联系。本文我们详细介绍theme和style的创建、appy以及解析。theme和style的创建   &nb...

2019-08-07 13:35:53 1761

原创 Android资源管理中的Theme和Style-------之总述(一)

        我们知道Android的每个View都会有许多不同的属性,同样的一个View,我们给它的属性赋予不同的值,这个View就会有不同的效果。甚至可以说,Android的界面编程,很大程度上就是给不同的View属性赋值的过程。我们通过改变View的属性值,来改变一个View的形态。比如我们通过改变layout...

2019-08-02 13:54:40 554

原创 Android资源管理中的Runtime Resources Overlay-------之overlay包的生效(五)

        前文我们介绍了overlay package和idmap文件是怎么加载到AsseetManager中的。本文主要分析当AssetManager加载完target package和overlay package后,我们在java文件中或者xml文件里访问这些资源时,AssetManager是如何处理的。...

2019-07-23 19:19:01 1325

原创 Android资源管理中的Runtime Resources Overlay-------之overlay包的加载(四)

        前文我们介绍了idmap文件的生成过程,剩下来的就是overlay package和idmap的加载和生效了。overlay package和idmap文件的加载        我们在Android资源管理中的Runti...

2019-07-19 23:36:46 1894 4

原创 Android资源管理中的Runtime Resources Overlay-------之AssetManager的处理(三)

        上一篇我们讲过了system_server、installd以及idmap,但是还是没有看到idmap文件到底使如何生成的。今天我们将会介绍AssetManager的处理,idmap文件的内容最终就是在这里产生的,不过它的主要逻辑在ResourceTypes.cpp里面。作为铺垫,我们先简单说下Asse...

2019-07-18 22:52:15 1224 1

原创 Android资源管理中的Runtime Resources Overlay-------之PMS、installd和idmap的处理(二)

前面我们对RRO(Runtime Resources Overlay)

2019-07-17 19:01:40 2468

原创 Android资源管理中的Runtime Resources Overlay-------之概述(一)

引言 跨进程通信(IPC)是我们在编写程序时经常遇到的情况,Android平台也给我们提供了许多IPC手段:比如基于binder的广播、AIDL、远程服务等等,基于存储器的sharedPreference、ContentProvider等。不过,Android是基于Linux的,linux本身的IPC手段自然也照样适用,比如socket、管道、内存映射等等。其中,内存映...

2019-07-16 20:10:37 2372

原创 Android资源管理中的SharedLibrary和Dynamic Reference-------之AssetManager的处理(四)

我们先简要说一下AssetManager的一些常识,后面会有文章详谈。 首先,AssetManager在构造的时候,会把系统资源包也就是framework-res.apk加载进去,这里所谓的加载,就是创建ResTable这个类的对象mResources,打开这个资源缩包,然后把里面的resources.arsc读到内存中去,然后解析,把对应的数据填入到mResour...

2019-07-14 14:14:52 1805

原创 Android资源管理中的SharedLibrary和Dynamic Reference-------之Framework的处理(三)

前面我们已经编译好了资源共享库lib-out.apk(包名:com.google.android.test.shared_library),已经引用这个共享库的应用app-out.apk(包名:com.google.android.test.lib_client),剩下的就是安装、运行起来了。这个自然不必说,但是运行的时候我们的这个App使如何加载我们的资源共享库的呢?还记不记得我...

2019-07-12 17:13:21 2534

原创 Android资源管理中的SharedLibrary和Dynamic Reference-------之aapt的处理(二)

前面我们讲过了资源共享库的概念和应用,现在我们来看看它是怎么实现的吧,顺便也能了解一下Android的资源管理中的一些机制。 这里面包括了两部分:资源共享库的编译和使用这个库的App的编译。我们仍旧以上一篇文章中framework里的那个项目为例来分别讨论。那个资源共享库的包名为:com.google.android.test.shared_library,项目路径为...

2019-07-10 22:44:30 4455

原创 Android资源管理中的SharedLibrary和Dynamic Reference-------之资源共享库(一)

一.引言 共享库的概念,相信大家都有所了解,它有有许多优点。可以设想,在一个系统上要跑100个应用,并且它们都使用到了同一个库。如果这个库做成静态库,那么每个应用中都要打包一次这个库,100个应用就是100次,这无疑是重复的。我们可不可以在系统里只集成一次这个库呢,每个应用用到的时候再动态加载与链接,动态库的概念就这么产生了。现在,PC上Linux、Windows、Mac中动态库的...

2019-07-09 23:09:57 5534

原创 Android资源管理概述

我们知道Android系统跑在各种各样的设备上,它的运行环境极为复杂,比如不同的语言、不同的屏幕密度、大小和方向等等。为了保证良好的显示效果,在不同的环境下,我们应该提供不同的资源。但是这些资源该如何打包、组织、加载、管理呢。显然,把这么繁重的工作交给各个应用去做很不合适,那将会使得每个Android应用中都充斥着大量的资源适配的代码,丑陋且重复。为了解决这个问题,Android提供...

2019-07-03 14:16:39 879

原创 Android Build System简介-----之definitions.mk

build/core/definitions.mk主要定义了build所需的一些命令,以及相关的辅助命令。了解这些命令,一来我们在编写比较复杂的mk文件时,可以使用这些命令(或者叫函数吧),避免重复造轮子(其实对于不太熟悉mk的同学,这些就是非常好的参考样本);二来,要搞懂Android的build系统,这些多少还是要有所了解的。我们可以简单列出来一些,稍作说明。definitions.mk定...

2019-04-09 20:19:42 671

sip揭秘.pdf

关于sip协议的不错的书籍,讲的很详细,做voip等开发的必看的。

2013-11-25

ArcGISAndroidSDK

ArcGIS 的SDK开发包,android平台

2012-04-23

sina 微博sdk android

新浪微博的android版sdk,方便,好用

2011-12-27

Java 3d 安装文件

Java 3d 安装文件,可以在Java平台下进行3d开发,用时别忘了把相关的包导入。

2011-07-08

Android intent详细分析

这是一个专门介绍Android Intent的文章,非常详细,适合新手学习。

2011-07-08

Struts 表单验证 实例

struts2 中一个详细的表单验证例子。txt 格式的,不太好用,不过内容不多。

2011-07-08

hibernate api

Hibernate的API帮助文档,chm格式,方便易用

2011-07-08

Java移动3d开发

Java 移动 3d开发 不错的参考书,适用于初学者

2011-07-07

android 课程表

Android 课程设计 课程表应用程序,原创

2011-07-07

android开发入门

Android操作系统的结构,开发平台的搭建,简单程序的实例

2011-04-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除