android - 如何以编程方式检索所有和正在运行的应用程序大小、CPU 使用率?

标签 android storage cpu-usage usage-statistics

我正在实现 android 应用程序以获取所有应用程序正在运行的应用程序 以及它们的大小、使用情况和 CPU 使用情况

但我只能获取所有正在运行的应用程序 Icon、Label 和 Packegename 无法获取 检索大小、使用情况和 CPU 使用情况

我在 GooglePlayStore 中看到一个名为 AndroidSystem Info 的应用程序。在该应用程序中给出了所有系统信息。

我想以编程方式检索该信息。

谁能帮我获取完整的系统信息

提前致谢......

这是我的代码:

获取所有应用程序:

ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
PackageManager pm = getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);
ApplicationInfo entry = (ApplicationInfo) mListAppInfo.get(position);
ImageView ivAppIcon = (ImageView) v.findViewById(R.id.ivIcon);
TextView tvAppName = (TextView) v.findViewById(R.id.tvName);
TextView tvPkgName = (TextView) v.findViewById(R.id.tvPack);

// set data to display
ivAppIcon.setImageDrawable(entry.loadIcon(mPackManager));
tvAppName.setText(entry.loadLabel(mPackManager));
tvPkgName.setText(entry.packageName);

用于获取正在运行的应用程序

ActivityManager activityManager = (ActivityManager)  getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> runAppList = am.getRunningAppProcesses();
int listsize = runAppList.size();
Log.v("tag", "listsize..." + listsize);

最佳答案

您可以使用 IPackageStatsObserver.aidl 界面执行此操作。在您的应用程序 src 目录中创建包 android.content.pm 并执行以下代码它将返回所有应用程序大小。

Method getPackageSizedInfo =pm.getClass().getMethod("getPackageSizeInfo",String.class,IPackageStatsObserver.class);

getPackageSizedInfo.invoke(pm, pkgname,new IPackageStatsObserver.Stub() {
@Override 
public void onGetStatsCompleted(PackageStats pStats, boolean succeeded)throws RemoteException {double size=(double)pStats.codeSize+pStats.cacheSize+pStats.dataSize;}
});

关于android - 如何以编程方式检索所有和正在运行的应用程序大小、CPU 使用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14643022/

相关文章:

Android - 很难调试 Eclipse

postgresql - 我可以在 Heroku 上的 5 MB PostgreSQL 中存储多少条记录?

Android OCR 使用 tess-two 的一个分支 tesseract

android - viewPager 背景颜色对我的图像的影响

storage - Ceph 每个 osd 的 pg 太多 : all you need to know

azure - 是否可以使用 LRS(本地冗余存储)直接读取 Azure 存储帐户的副本?

linux - 根据负载估算所需的核心容量?

mysql cpu使用率超过系统cpu

batch-file - 如何将任务列表的CPU时间转换为CPU使用率?

android - 在没有 ArCore 的情况下与 SceneView 内的 3D 模型交互