【TechWeb报道】7月31日消息,点心OS架构师万琼柱、小米科技***架构师汪文俊、盛大乐众ROM架构师郭振做客第169期IT龙门阵,讲述Android底层故事。
主持人(左)与点心OS架构师:万琼柱、盛大乐众ROM架构师:郭振、小米科技***架构师:汪文俊
Android如何有效加载资源
点心OS架构师万琼柱演讲主题为《Android资源体系介绍》。“资源”是程序运营逻辑之外的其他静态内容。使用资源机制,可协助分离UI展现和应用逻辑,使程序有更加结构,并适配不同的硬件配置等。
万琼柱讲解,通过资源ID分段,以***的方式从资源表中执行查找。
AAPT:图片类已压缩过的资源在APK中是无压缩ZipEntry存储的,这样可以避免运行时每个资源0-64kb的内存开销,可以用最节省内存的方式访问,另外不需要压缩也节省了CPU消耗。
ZipAlign:确保无压缩的资源文件在APK内是按4字节对齐的,可以直接被mmap到进程内存空间,并使访问具有***性能。
运行时:尽力通过mmap的方式控制Heap内存消耗,缓存较小的资源到内存中来加快访问速度。
点心操作系统Web化
如何组织深度定制版android中的资源?万琼柱介绍了以下场景和需要解决的问题:
上层APK需要以二进制方式发布以便保护知识产权;
上层APK存在厂商定制,需要以来平台资源和Java库;
上层APK成套存在,公用资源和代码会提取进入系统框架;
需与多家硬件厂商并发合作,但不希望产生多套二进制文件;
解决方法:不允许厂商删除Framework中的资源(合理假设)、但厂商可以任意增加资源,不会妨碍预编译的点心APP对资源ID的预期。控制资源ID的生成,参照public.xml机制,扩充AAPT的资源类型,在执行public ID预分配后,给点心已知的所有资源ID赋值。
点心操作系统三年来,已从整体操作系统发展到操作系统Web化。前年,点心做整体操作系统。去年,点心操作系统应用化,从操作系统发展到工具Apps集合:例如安卓优化大师、安卓省电、点心桌面、点心拨号、点心闹钟等。今年和明年,实现操作系统Web化,从操作系统演化到Web/原生混合式Apps ,例如:点心壁纸,点心极速桌面。
应用在模拟器上测试可覆盖大部分的机型
现场有开发者提问,Android***的问题是设备型号太多,适配太困难。对于如何适配问题,小米科技***架构师汪文俊表示,对于小米来说会尊重Google CTS,不会让应用为MIUI做改变。
汪文俊建议,开发者在开发应用时,由于手机设备型号太多,无法一一去测试,一般会在模拟器上进行测试,基本可覆盖大部分的机型。
他透露,MUI团队最开始只有3个人,现在工程师70多人,加上测试 、设计,团队成员共160个人。
乐众ROM:打造手机娱乐平台
盛大乐众ROM架构师郭振演讲主题为《Android账户同步备份框架》。Android 从2.0之后加入了账户、同步、备份框架,郭振介绍了这三个框架的架构和设计,并从系统开发的角度讨论如何与Android的账户同步备份框架对接,将自己的服务集成到Android系统中。
对于Android碎片化问题,郭振认为Google愿意看到这种场景。“Google愿意看到Android碎片化、多元化。iPhone已是街机,但Android有很多机皇,每个厂商可以满足用户不同的需求。Google乐见很多互联网厂商、手机厂商参与到Android发展中。”
他表示,乐众OM依托盛大文学、视频等资源,将打造手机娱乐平台。目前,乐众ROM已支持16款机型。(可心)