我的res文件夹中有56个drawable 我在2片碎片中使用它们。
创建一个包含那些drawables的静态数组的类是否是一个很好的内存方法,并且每当我想使用它时都调用它的get方法?
或者我应该在每个片段中创建一个私有数组吗?
答案 0 :(得分:0)
你应该在片段中创建私有数组。将它们全部放在另一个类中意味着它们永远不会被破坏,即使你不使用它们占用内存。此外,当应用程序进入后台太久时,静态数组将被删除,因此如果数组为空则需要额外的代码来重新加载数组
答案 1 :(得分:0)
您可以使用资源ID创建一个静态int数组,这是一个示例:
public static final int[] DRAWABLE_ARRAY = {
android.R.drawable.sym_def_app_icon,
android.R.drawable.title_bar,
android.R.drawable.ic_menu_compass
};
然后使用这个数组可能是这样的:
for (int i = 0; i < DRAWABLE_ARRAY.length ; i++) {
context.getResources().getDrawable(DRAWABLE_ARRAY[i]);
}
这样你就不会创建占用大量内存的对象,因为这些只是资源ID