1

我已经构建了一个具有主菜单的 android 应用程序。在主菜单中,用户可以选择不同的“应用程序”来打开一个带有 Runnable 的新 Activity。

菜单显示在自定义 ListViewAdapter 上。适配器中的每个元素都包含一个显示菜单条目的位图。我的位图使用 ~3 MB 内存。

所以我的问题是,当用户打开一个底层应用程序时释放菜单条目并在他返回菜单时重新构建它是否明智。

编辑:所以我认为我没有很好地描述我的问题或问题。主菜单有一个自定义对象 MenuEntry 的列表。每个 MenuEntry 都为显示的图标保存一个 Drawable。我的 ListView 有一个适配器,它接受 Drawable 并在 ImageView 中使用它来在 MenuEntry 中显示图标。

因此,我认为当 MainMenu Activity 暂停以释放一些内存(~3 MB)时,删除我的 MenuEntry 列表是个好主意。并在用户重新打开主菜单时构建新条目。

4

2 回答 2

0

我建议将位图压缩为字节数组并将其保存到集合或数组中。在您的 ListViewAdapter 从字节数组中设置位图。您可以在此处找到位图压缩示例:Android : Bitmap save to location

于 2012-09-07T10:24:29.747 回答
0

我不太明白为什么“适配器中的元素包含位图”。也许这会有所帮助: LazyList - 在磁盘缓存中存储位图:在 ListView 中延迟加载图像

有效地显示位图 - http://developer.android.com/training/displaying-bitmaps/index.html

于 2012-09-07T10:31:03.360 回答