Android framework-res.apk资源

        framework-res.apk系统资源是在zygote进程启动时被加载的,但是也不是加载所有资源,只是会加载部分资源。会加载的资源是在Framework里的res/values/arrays.xml中定义的。对于那些非“预加载”的系统资源则认为不会被缓冲到静态列表变量中,在这种情况下,多个应用进程如果需要一个非预装载的资源,则会在各自的进程中保持一个资源的缓冲。

       系统资源按照被公开的方式可分为私有资源和公开资源。公开资源是值使用SDK的应用也能访问的系统资源。公开资源都是在res/values/public.xml文件中定义的。可以通过android.R访问。私有资源是被存放到com.android.internal.R文件中。public.xml为所有需要公开到SDK中的资源进行id值的预先定义,这些id值在不同的Android版本中总会保持一致,从而保证不同的Android版本的资源的兼容性。


     我们也可以在res/values/strings.xml中添加自定义的字符串资源,如果要让该资源可以被公开使用,需要在public.xml中添加薪资源的id。为新资源指定id值时,必须考虑两个问题:一,不能与已有的id值冲突。二,尽量避免与未来的id值冲突。

 

id值的含义是,01代表这是一个Framework资源,04代表这是一个Strign类型的资源,f000是该资源的编号,之所以从f开始,是因为Framework内部的资源是从0开始的,防止以后递增与我么自己定义的资源值冲突。

你可能感兴趣的:(Android学习)