gpt4 book ai didi

android - 获取大量应用程序图标会导致内存不足

转载 作者:搜寻专家 更新时间:2023-11-01 08:58:48 25 4
gpt4 key购买 nike

我创建了一个应用程序来加载所有已安装的应用程序。现在工作正常。但是对于一些有很多应用程序的手机/平板电脑,我的应用程序会因为内存不足而崩溃。下面是获取应用信息的源码

String appName = p.applicationInfo.loadLabel(packageManager).toString();
String packageName = p.packageName;
String appFile = a.sourceDir;
long lastUpdated = new File(appFile).lastModified();
Drawable icon = a.loadIcon(packageManager);
AppSize appSize = calculateSize(p.applicationInfo.sourceDir);
App application = new App(appName, packageName, lastUpdated, appSize.getSize(), appSize.getLongSize(), icon, false);

有没有办法优化上面的代码来避免内存不足?谢谢。

最佳答案

请查看此链接:Displaying bitmaps efficiently .

同样在这个开源库项目中:Universal Image loader .

当您的应用程序需要显示大量位图时,它会超出应用程序分配的内存。此外,当它们显示在网格、列表或 View 分页器中时,创建每个 View 时会消耗更多内存。因此,您需要将这些图像缓存在内存或光盘中,并使用这些链接中描述的技术有效地显示它们。

Addition

看看这个: Get installed Applications with Name, Package Name, Version and Icon

可接受的 URI 示例 UIL :

String imageUri = "http://site.com/image.png"; // from Web
String imageUri = "file:///mnt/sdcard/image.png"; // from SD card
String imageUri = "content://media/external/audio/albumart/13"; // from content provider
String imageUri = "assets://image.png"; // from assets
String imageUri = "drawable://" + R.drawable.image; // from drawables (only images, non-9patch)

关于android - 获取大量应用程序图标会导致内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16958879/

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