首页 > 解决方案 > 获取系统属性的有效替代反射

问题描述

如果我们想以编程方式获取一些系统属性,我们可以使用以下 2 个选项之一

  1. 使用反射获取 android.os.SystemProperties 并使用 key 调用 get 方法。
  2. 使用 Runtime exec 调用“getprop”。

使用示例应用程序,我观察到选项#1(花费 1 毫秒)比选项#2(13 毫秒)快得多。我知道发生这种情况是因为在选项#2 中,JVM 将生成一个全新的进程来执行命令。

出于更好的性能原因,许多程序员肯定倾向于使用选项#1。

但是,正如https://developer.android.com/about/versions/pie/restrictions-non-sdk-interfaces中所述,从 Android P 开始,android 使用 non_SDK 接口进行阻塞。

那么,在不使用反射的情况下,有什么方法可以像使用反射一样快速获取系统属性?

标签: androidreflectionproperties

解决方案


推荐阅读