什么是在Android中加载apk图标的有效方法?

时间:2014-05-17 02:26:59

标签: android memory bitmap apk

我正在研究一个帮助我学习android开发的小文件管理器,我遇到了一些加载apk文件apk文件的问题。我正在尝试加载与apk相关联的图标。我打算在我的适配器中加载它。

以下是我使用的方法:

  public Bitmap getApkBitmap(File f) {
        PackageInfo packageInfo = getContext().getPackageManager().getPackageArchiveInfo(f.getAbsolutePath(), PackageManager.GET_ACTIVITIES);
        ApplicationInfo appInfo = packageInfo.applicationInfo;
        if (Build.VERSION.SDK_INT >= 8) {
            appInfo.sourceDir = f.getAbsolutePath();
            appInfo.publicSourceDir = f.getAbsolutePath();
        }
        Drawable icon = appInfo.loadIcon(getContext().getPackageManager());
        Bitmap bmpIcon = ((BitmapDrawable) icon).getBitmap();
        return bmpIcon;
    }

问题:

它运行正常,但问题是,每当我有很多apks,或者我滚动得太快,应用程序崩溃,我会遇到一些回忆。此外,无论何时我滚动,它都非常迟钝,并且根本不平滑。

1 个答案:

答案 0 :(得分:1)

您可能需要实现一个lazylist来按需显示图像。这可以解决你的记忆问题。

要考虑的另一件事是如果图像太大则缩小图像。这可以解决滞后列表问题。