我需要加载一些文件并将它们存储在静态变量中。
几乎每个 Activity 都需要 load 和 getter 方法。
我打算将这些方法设为静态,但一些博主不喜欢它。
对我来说,这两种方法的主要优点和缺点如下。
单例
优点:能够保持多态性。
缺点:必须在每个 Activity 中调用 getInstantace 方法。
静态方法反之亦然。
请指导我在这两种方法或任何其他方法之间进行选择。
如有任何帮助,我们将不胜感激。
最佳答案
我会避免在 Android 中使用静态变量,因为如果您的应用程序暂停并且手机资源不足,Android 经常会从您的类中清除所有静态数据,从而导致意外的空指针异常。在 Google 中搜索“Android Static Null”以获得更好的解释。
无论哪种方式(静态方法或单例),您都应确保您的应用能够保存状态并在 Android 清除您的静态变量时恢复状态。
关于java - android单例与静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6675014/