让旧手机运行 Android O? 看看 Android Go 是如何做到的

简介:

1fac18706cc65bade2cb0a904609b29f708c7064

Android Go 是谷歌基于 Android 8.1 Oreo 的精简版 Android 系统,是成为针对 1GB 或更低内存的低端设备的 Android 优化版。Android Go 是为下一代入门级设备开发的,为的是确保发展中国家的消费者仍然可以使用功能正常的智能手机来访问互联网并使用应用程序。

Android Go 拥有各种性能优化和改进,比如其内存占用比普通 Android O 少一半,设备平均运行速度比在同一设备上安装常规的 Android O 快 15%。这些优化是通过谷歌制作的一些专门的构建配置完成的,将在后面进行解释。

87d2c2e38ba2fbe24187eb563401fb81beec524f

Android Go 还益于特殊的 “Go” 系列应用程序,比如 Files Go,YouTube Go 和 Google Maps Go。这些是由谷歌制作的轻量级版应用,不那么吃配置。这意味着那些使用 Android Go 设备的用户可以拥有标准的 Android 系统体验,开心地使用谷歌全家桶,无需购买昂贵的旗舰手机。

这关乎谷歌扩大智能机市场的计划。但是开发者们可能会有疑问,如果 Android Go 主要基于构建配置和一套优化过的谷歌应用组成,那么开发者是否可以自己构建一个 “Android Go”?答案是肯定的。

一些 LineageOS 开发者已经在开发拥有 Android Go 优化的 ROM

已经有一部分开发者对 Android Go 十分感兴趣,比如 XDA 认可的开发者 AdrianDC,正在做 LineageOS 15.1 上的工作,同时也在进行针对几款老式索尼手机的 Android Go 配置构建 。上面提到的索尼设备是索尼 Xperia SP,索尼 Xperia T,索尼 Xperia V 和索尼 Xperia TX。这些设备已经是五六年前推出的 “ 准古董 “ 了,但是他们将会得到拥有 Android Go 优化的 LineageOS 15.1,这可能会让这些 “ 准古董 “ 流畅地运行 Google “Go” 系列应用程序。

任何独立的 LineageOS 开发者都应该可以引入一个 Android Go 的构建配置,使得 LineageOS 成为 Android Go 优化和其他优化的综合版本。这意味着那些可能购买了索尼 Xperia T 的人,昨天手机还在运行 Android 4.0.4,明天就能够用上 Android 8.1,以及最新的 YouTube Go 和 Google Maps Go 等应用程序。

Android Go 如何帮助老 Android 手机运行 Android Oreo

Android 上的配置构建是一组与 Android 系统各个方面相关的参数,这些参数通常这会改变系统的行为,而 Android Go 主要就是针对构建配置进行优化。

bba2d764a3421188f52c8041a5cfa8681b930463

如果想让 Android Go 发挥作用。其中一些配置构建必须在重新编译的情况下才能修改,并且会成为 ROM 蓝图的一部分。但是这涉及诸如 Android 在存储和内存使用等多个方面,包括自动存储管理,Android 低内存杀手,dalvik 可执行文件 ( DEX ) ,优化和针对应用程序的 RAM 限制。而 APK 文件由 DEX 文件组成,因此你可以将 APK 文件看成一个包含许多 .dex 文件的 ZIP 文件。另外,自动存储管理将由 Files Go 来控制,而不是让 Android 系统控制。

Android Go 参考了 Android 的低 RAM 模式

在 Android 4.4 KitKat 中,谷歌推出了一个名为 “low-ram” 的新标志,旨在支持只有 512MB 内存的设备。它对系统进行了一些优化,这些改变对于低 RAM 设备是非常有效的。

  • 已验证的内存节省内核配置:切换到 ZRAM

  • 如果未被缓存或者缓存太大,杀死这个进程

  • 不要让大型服务把自己归类到 A 服务里(避免启动器被误杀)

  • 如果进程在空闲维护中变得过大,杀死这个进程

  • 序列化的后台服务启动

  • 调谐低 RAM 设备的内存使用:更严的内存不足预警级别,更小的图形缓存等

  • 修改 system_server 和 SystemUI 进程

  • 在 Dalvik 预载 dex 缓存

  • 经过验证的 JIT-OFF 选项

  • 减少了每个进程的字体缓存占用

  • 引入 ArrayMap / ArraySet,并在框架中广泛使用,作为 HashMap / HashSet 的轻量级替换

Android Go 使用修改的低内存杀手和 dex 优化

鉴于 Android Go 主要用于内存为 1GB 或更低的设备,还需要进行更积极的内存管理。Android Go 以几种不同的方式修改低内存杀手 ( low memory killer ) 。首先,当大量的 RAM 被消耗时,低内存杀手将进入 “ 临界压力 “ 状态。这是因为当内存使用率变得过高时,设备存储上的交换文件被频繁访问,系统就会变卡。保持 RAM 有足够的空余能避免系统不停地使用交换文件或者爆内存。

通过将各种基本服务以及 WiFi 服务设置为 “ 速度档 “,可以让这些服务进行提前编译,可以减少 RAM 的使用和存储。同时共享 APK 被设置为 “ 加速 “,通过优化 dex 指令来获得更好的性能,从而延长电池寿命和额外的 CPU 周期。

在 dex 优化方面,Android Go 做了很多,比如对不常用的应用进行降级处理。此处降级并不是说应用程序的实际版本号会被降低,而是指这个应用程序的 dalvik_cache 将被清除。使用 Dalvik 缓存是为了使设备不用重新编译应用程序,而只编译最需要的部分并对其进行缓存。其余部分在应用程序运行时使用 Just in Time(JIT)编译器进行编译。但是如果应用程序在 10 天内没有使用,那么预编译的应用程序的主要部分也将被删除。这样做是为了释放尽可能多的空间。另一个简单的变化是不允许应用程序的 RAM 使用超过 256MB,以至于应用程序无法使用设备上的所有 RAM。

Android Go 将成为低端设备定制 ROM 的未来吗?

目前并不能下一个定论,但是对于旧设备上的自定义 ROM 开发来说,前景很光明。虽然在设备上运行最新版本的 Android 可能还有其他问题,但从理论上说,基于 Android O 并进行了优化的 Android Go 肯定比 Android 4.4 用起来要舒服多了。


原文发布时间为:2018-11-25

本文作者:yuer

本文来自云栖社区合作伙伴“终端研发部”,了解相关信息可以关注“终端研发部”。

相关文章
|
7月前
|
机器学习/深度学习 数据采集 人工智能
Phi-3 技术报告:手机本地运行的高能力语言模型
Phi-3系列模型通过高质量数据训练与架构创新,实现小体积、高性能。38亿参数的phi-3-mini在手机端可达GPT-3.5水平,支持长上下文、多模态与高效推理,推动AI普惠化。
774 1
|
7月前
|
存储 消息中间件 人工智能
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
【03】AI辅助编程完整的安卓二次商业实战-本地构建运行并且调试-二次开发改注册登陆按钮颜色以及整体资源结构熟悉-优雅草伊凡
245 3
|
7月前
|
存储 API Android开发
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
595 4
【02】完整的安卓二次商业实战-配置gradle-构建打包原生安卓项目-调试本地运行模拟器-优雅草伊凡
|
6月前
|
Java 编译器 Go
【Golang】(1)Go的运行流程步骤与包的概念
初次上手Go语言!先来了解它的运行流程吧! 在Go中对包的概念又有怎样不同的见解呢?
323 4
|
12月前
|
缓存 Android开发 开发者
Flutter环境配置完成后,如何在Android设备上运行Flutter应用程序?
Flutter环境配置完成后,如何在Android设备上运行Flutter应用程序?
2215 62
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
12175 81
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
12月前
|
开发工具 Android开发 开发者
在Android设备上运行Flutter应用程序时,如果遇到设备未授权的问题该如何解决?
在Android设备上运行Flutter应用程序时,如果遇到设备未授权的问题该如何解决?
825 61
|
9月前
|
Android开发 数据安全/隐私保护
安卓手机修改设备id, 安卓硬改一键新机,手机机型修改(伪装)
提供了完整的设备信息修改功能,包含设备模板配置、基础信息修改、网络信息修改、模拟器检测绕
|
9月前
|
存储 Android开发 数据安全/隐私保护
Thanox安卓系统增加工具下载,管理、阻止、限制后台每个APP运行情况
Thanox是一款Android系统管理工具,专注于权限、后台启动及运行管理。支持应用冻结、系统优化、UI自定义和模块管理,基于Xposed框架开发,安全可靠且开源免费,兼容Android 6.0及以上版本。
1055 4
|
9月前
|
存储 人工智能 文字识别
三款安卓手机word编辑器下载,Microsoft Word,wps office,Word手机版,手机word编辑查看阅读器,PDF转换器apk下载
WPS Office是一款功能强大的办公软件,支持文档编辑、表格处理和演示文稿制作,兼容多种格式并提供丰富的云服务。它具备低内存占用、快速运行的特点,支持跨设备同步与多人协作,内置海量模板及AI辅助功能,如智能写作和PPT自动生成。此外,还可扫描文件、编辑PDF并转换为其他格式,极大提升办公效率,适合手机用户便捷操作。
932 1

热门文章

最新文章