通过整个Android应用程序的静态可绘制数组

时间:2015-04-27 15:53:05

标签: android memory android-drawable android-memory

我的res文件夹中有56个drawable 我在2片碎片中使用它们。

创建一个包含那些drawables的静态数组的类是否是一个很好的内存方法,并且每当我想使用它时都调用它的get方法?
或者我应该在每个片段中创建一个私有数组吗?

2 个答案:

答案 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