【问题标题】:Android build for limited function device有限功能设备的Android构建
【发布时间】:2019-07-31 14:08:00
【问题描述】:

我正在尝试为我们的设备构建一个功能有限的 Android 系统,它需要快速启动,但我们所做的一切似乎都会减慢它的速度。

例如,我们的设备没有摄像头、没有蓝牙、没有 wifi,但由于 Android 的相互依赖性,在各种/system/etc/init/*.rc 文件中批量关闭它们似乎实际上会减慢速度。例如,关闭的服务最终会重新启动,或导致设置超时。

(Android 出现在设备上是因为它的 UI,而不是它的连接能力。)

您对如何执行此操作有任何建议吗?以前用于汽车、电视和平板电脑的 Android 肯定已经处理过这些问题。

【问题讨论】:

标签: android embedded android-source


【解决方案1】:

您没有具体说明您做了什么,但如果您尝试在启动时不启动 HAL 服务,它们可能稍后会动态启动。如果您使用的是 Android 8 或更高版本,您可以在一个进程中合并多个 HAL。但我怀疑这会给您带来任何显着的加速。

Android 确实提供了有关如何优化启动时间的指南:https://source.android.com/devices/tech/perf/boot-times但是,您会注意到它们专注于引导加载程序、内核、文件系统、SELinux 和并行化 init。房间里的大象是Zygote。启动需要很长时间,因为它预加载了整个 Android SDK。

从其历史来看,Android 并不太关心启动时间,因为您通常不会重新启动 Android。相反,它们依赖于 Suspend-to-RAM。

您应该尽早考虑您希望获得什么样的用户体验。示例:对于 Automotive Android,Google 需要支持开机后两秒内可用的后视摄像头。他们通过第二个更快的堆栈来实现这一点,该堆栈在应用程序 SDK 启动和接管之前提供第一个图像。见https://source.android.com/devices/automotive/camera-hal

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-21
    • 2019-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多