当前位置: 首页 > 面试题库 >

在Android上检索设备信息

常业
2023-03-14
问题内容

我的程序针对Android
1.5。我想检索有关设备本身的系统信息。通过搜索API,我发现很少有有用的类。到目前为止,我发现最好的是Runtime该类和一些Build.*系统属性。

我希望能够获得如下信息:设备上的内存总量,可用内存量(我不知道Runtime该类是否是主动给我的,因为它专门指的是JVM可用的内存)。有关处理器的信息。

这些信息是否可用?如果可以,我在哪里可以找到它?


问题答案:

“内存总量”是毫无意义的(例如,G1拥有192MB的物理RAM,其中90-100MB的内存已供不同版本的内核和应用程序使用,但其中不包括用于窗口缓冲区和各种内存的内存)其他方面,每个Java应用程序的堆限制为16MB,因此系统可用的RAM更多地取决于可以同时运行多少个进程。

“可用内存量”真的是毫无意义的。我们通常会尝试让可用内存的应用程序保持运行状态,因此与正常的Linux缓存之间通常几乎没有可用内存。如果您查看内核中的原始可用内存,您会发现随着应用程序启动并使用一些内存,将其向下推,随着时间的推移,疯狂的变化非常大,然后其他应用程序被删除,导致其跳回直到缓存和其他事情有机会吞噬它。

在这一点上,我想出最好的方法来查看系统的内存状态是2.0中引入的“运行服务”
UI。是的,底部的内存信息对大多数人来说非常微妙而毫无意义。我们应该尝试找出改善方法。:)

您可以通过android.os.Build.CPU_ABI找到NDK代码的CPU架构。这为您提供了CPU体系结构的基线,但为您提供了诸如CPU是否支持NEON指令之类的信息。对于此类信息,可以想象您可以使用NDK运行一些本机代码来询问CPU。



 类似资料:
  • 我正在一台新的Windows10笔记本电脑上设置一个Android开发环境。我在使用其他操作系统的其他机器上已经这样做过很多次了,但这是第一次使用Windows10。问题是,Android Studio无法检测我的设备(LG区域3)后,我通过USB连接它。请注意,我以前曾在Arch Linux桌面上使用此设备进行开发。 我已经下载了Android Studio并创建了几个AVD。我可以运行我的应用

  • 本文向大家介绍在运行时检查设备上的Android版本,包括了在运行时检查设备上的Android版本的使用技巧和注意事项,需要的朋友参考一下 示例 Build.VERSION_CODES 是当前已知的SDK版本代码的枚举。 为了有条件地基于设备的Android版本运行代码,请使用TargetApi注释以避免Lint错误,并在运行特定于API级别的代码之前检查生成版本。 这是在支持低于23的API级别

  • 问题内容: 我对Android和SCORM没什么疑问。在这两个领域中,我都还很新,我只花了一个晚上在网上挖了一些答案。 我发现的主题是关于将SCORM软件包与LMS同步,但是我不需要。我只是想知道如何在android设备(带Android 4+ OS的联想平板电脑)上播放(而且只需播放,无需任何同步或跟踪)SCORM程序包。如果我尝试制作自己的允许浏览本地SCORM软件包的应用程序,是否可以使用W

  • 我想检查我的设备是否有根。当我在真正的设备中尝试下面的代码时,它是可以的。但是这行中的非根模拟器中断

  • 最近,我们在Android应用程序中增加了对Chromecast的支持,但在对各种移动设备(手机和平板电脑)的扩展测试中,发现在许多移动设备上,Flipps应用程序都没有发现Chromecast。在相同的设备上,我们使用了最新版本的官方Chromecast SDK演示应用程序进行测试,该应用程序从https://github.com/googlecast/castvideo-Android下载(主

  • 问题内容: 我的手机APP以文本模式完美下载内容。下面是执行此操作的代码。我将其称为Communicator类和exectueHttpGet: 我要讲的是(URL的源代码): 该响应是一个字符串。在服务器上,它作为JSON对象输出(与PHP一起),现在在我的Android PHP中,我想将此字符串转换为JSON。这可能吗? 问题答案: 您收到的是从附加到a 并最终转换为的一系列字符-因此,结果是可