如何以编程方式在 Android 中获取 RAM 内存?
设备的 RAM(随机存取存储器)是用于存储数据或信息以供设备上运行的任何应用程序立即使用的系统。每个将程序作为其应用程序的一部分运行的电子设备都有一定数量的 RAM 与之关联。现在的移动设备配备了 4 到 16 GB 的 RAM,具体取决于型号。 RAM 越大,手机可以运行的应用程序就越大。更多的 RAM 也有助于设备的更快和更好的性能,但不完全负责更好的性能。因此,对于理想的应用程序来说,跟踪可用 RAM 并根据它最小化或最大化应用程序进程非常重要。
通过本文,我们将向您展示如何在 Android 中以编程方式获取与设备 RAM 相关的信息。
分步实施
第 1 步:在 Android Studio 中创建一个新项目
要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。我们在 Kotlin 中演示了该应用程序,因此请确保在创建新项目时选择 Kotlin 作为主要语言。
步骤 2:使用 activity_main.xml 文件
导航到app > res > layout > activity_main.xml并将以下代码添加到该文件中。下面是activity_main.xml文件的代码。创建一个 TextView 来显示 RAM 相关信息。
XML
Kotlin
import android.app.ActivityManager
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Declare and initialize TextView from the layout file
val mTextView = findViewById(R.id.text_view)
// Declaring and Initializing the ActivityManager
val actManager = getSystemService(ACTIVITY_SERVICE) as ActivityManager
// Declaring MemoryInfo object
val memInfo = ActivityManager.MemoryInfo()
// Fetching the data from the ActivityManager
actManager.getMemoryInfo(memInfo)
// Fetching the available and total memory and converting into Giga Bytes
val availMemory = memInfo.availMem.toDouble()/(1024*1024*1024)
val totalMemory= memInfo.totalMem.toDouble()/(1024*1024*1024)
// Displaying the memory info into the TextView
mTextView.text = "Available RAM: $availMemory\nTotal RAM: $totalMemory"
}
}
步骤 3:使用MainActivity.kt 文件
转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。
科特林
import android.app.ActivityManager
import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Declare and initialize TextView from the layout file
val mTextView = findViewById(R.id.text_view)
// Declaring and Initializing the ActivityManager
val actManager = getSystemService(ACTIVITY_SERVICE) as ActivityManager
// Declaring MemoryInfo object
val memInfo = ActivityManager.MemoryInfo()
// Fetching the data from the ActivityManager
actManager.getMemoryInfo(memInfo)
// Fetching the available and total memory and converting into Giga Bytes
val availMemory = memInfo.availMem.toDouble()/(1024*1024*1024)
val totalMemory= memInfo.totalMem.toDouble()/(1024*1024*1024)
// Displaying the memory info into the TextView
mTextView.text = "Available RAM: $availMemory\nTotal RAM: $totalMemory"
}
}
输出:
应用程序打开后,您将看到设备上可用的可用 RAM 和总 RAM 以供使用。
截取上述屏幕截图的设备具有 6GB RAM。差异 (6 – 5.44 = 0.56) GB 已被 Android 操作系统和制造商的管理应用锁定,无法从设备中删除。