在 Android 上获取 Delphi 中的总内存和可用内存
Get total and available memory in Delphi on Android
正在寻找 Delphi 代码来检查我的 FMX 应用程序中的总内存和可用内存 (RAM)。
有平台无关的方式吗?找不到任何东西。
但这真是太好了,事实上我只需要 Android。
这仅适用于 Android 并且运行良好,已在多个设备和 Delphi 10.3.3.
上进行测试
{$IFDEF ANDROID}
uses
Androidapi.Helpers,
Androidapi.JNIBridge,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.App;
var
MemoryInfo: JActivityManager_MemoryInfo;
begin
MemoryInfo:= TJActivityManager_MemoryInfo.JavaClass.init;
TJActivityManager.Wrap((TAndroidHelper.Context.getSystemService(
TJContext.JavaClass.ACTIVITY_SERVICE) as ILocalObject).GetObjectID)
.getMemoryInfo(MemoryInfo);
TotalMb:= MemoryInfo.totalMem shr 20;
AvailMb:= MemoryInfo.availMem shr 20;
end;
{$ENDIF}
独立于平台的解决方案还是不错的...
正在寻找 Delphi 代码来检查我的 FMX 应用程序中的总内存和可用内存 (RAM)。
有平台无关的方式吗?找不到任何东西。
但这真是太好了,事实上我只需要 Android。
这仅适用于 Android 并且运行良好,已在多个设备和 Delphi 10.3.3.
上进行测试{$IFDEF ANDROID}
uses
Androidapi.Helpers,
Androidapi.JNIBridge,
Androidapi.JNI.GraphicsContentViewText,
Androidapi.JNI.App;
var
MemoryInfo: JActivityManager_MemoryInfo;
begin
MemoryInfo:= TJActivityManager_MemoryInfo.JavaClass.init;
TJActivityManager.Wrap((TAndroidHelper.Context.getSystemService(
TJContext.JavaClass.ACTIVITY_SERVICE) as ILocalObject).GetObjectID)
.getMemoryInfo(MemoryInfo);
TotalMb:= MemoryInfo.totalMem shr 20;
AvailMb:= MemoryInfo.availMem shr 20;
end;
{$ENDIF}
独立于平台的解决方案还是不错的...