gpt4 book ai didi

Android:获取设备应用程序列表 - 非常慢

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:09:08 25 4
gpt4 key购买 nike

我需要在用户打开我的应用后的 5-10 秒内获取设备上安装的所有应用的列表。

这是因为,它需要大约。我的 Android 应用程序的典型用户需要 5-10 秒来请求有关设备上安装的应用程序的信息。

为了相关,我必须在每次加载我的应用程序时创建已安装应用程序列表的新副本。

但是,使用下面的代码在四核 Android 设备上花费大约 30 秒。 400 个应用程序(系统和已安装 - 我都需要)。

我让代码在“创建时”执行,但没有人会等待 30 秒来打开应用程序。所以我把它移到了 AsyncTask,这样我的应用程序就可以立即打开。但是,仍然需要 +30 秒;如果有人在加载列表之前询问特定的应用程序,他们可能无法获得正确的信息。

为什么这段代码这么慢?我该怎么做才能加快速度?我将支付金币给任何可以将速度提高 10 倍或给我一个好的提示的人。

final PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);

for (ApplicationInfo packageInfo : packages) {
InstalledAppsName.add(packageInfo.loadLabel(pm).toString());
CountApps=CountApps+1;
}

最佳答案

参见 PackageInfo LoadLabel slow performance

获取标签需要很长时间,因为(我认为)它需要从 APK 加载。同时,您可以只显示包名称,然后逐步将其替换为标签。

关于Android:获取设备应用程序列表 - 非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13637854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com