我可以在实用程序类中存储AssetManager的引用吗?

时间:2011-04-12 05:45:22

标签: android

我想创建一个实用程序类来加载资产/文件结构中包含的图像。要求对它的所有调用或任何其他调用它的实用程序类从UI一直传递Context是令人厌烦的。

是否可以将其传递一次并存储(只要实用程序类是静态的或单例)?或者那会对记忆有明显的破坏性后果吗?

另外,没有人问,我正在使用资产/文件夹而不是res /因为我想要子文件夹,并且动态地按名称访问图像,我根据自己的知识无法使用资源。例如,我希望我的sprite对象加载特定sprite文件夹中的所有图像,而不是硬编码R.drawable.sprite1front,R.drawable.sprite1leftside等。

*编辑 - 如果可以的话,复制AssetManager也没问题。

1 个答案:

答案 0 :(得分:0)

您可以为实用程序类使用单例或静态类,但是应该使用对Application对象而不是Activity的引用来初始化它。 (保持对Activity的引用是泄漏内存的好方法。)最好的方法可能是将Application子类化并将其用作实用程序类。您必须在清单中声明您的Application类。