Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 什么';安卓系统中存储数据的安全方法是什么?_Android_Garbage Collection_Singleton - Fatal编程技术网

Android 什么';安卓系统中存储数据的安全方法是什么?

Android 什么';安卓系统中存储数据的安全方法是什么?,android,garbage-collection,singleton,Android,Garbage Collection,Singleton,我一直在使用单例存储应用程序启动时加载的数据。这些数据将在我的应用程序的整个生命周期中使用,但不需要在将来发布时保存。我已经开始讨论这个问题了,尽管我的单例是垃圾收集的,它们的数据被擦除了。单例模式在Android上没有任何意义吗?使用本地存储或本地数据库似乎有些过火,但我不确定还应该做些什么来保证我的数据在我的应用程序的生命周期内是安全的 谢谢 我已经开始讨论这个问题了,尽管我的单例是垃圾收集的,它们的数据被擦除了 不,他们不是。根据定义,不能对单例(静态数据成员)进行垃圾收集 最有可能的是,

我一直在使用单例存储应用程序启动时加载的数据。这些数据将在我的应用程序的整个生命周期中使用,但不需要在将来发布时保存。我已经开始讨论这个问题了,尽管我的单例是垃圾收集的,它们的数据被擦除了。单例模式在Android上没有任何意义吗?使用本地存储或本地数据库似乎有些过火,但我不确定还应该做些什么来保证我的数据在我的应用程序的生命周期内是安全的

谢谢

我已经开始讨论这个问题了,尽管我的单例是垃圾收集的,它们的数据被擦除了

不,他们不是。根据定义,不能对单例(静态数据成员)进行垃圾收集

最有可能的是,你看到的是

单例模式在Android上没有任何意义吗

作为一种缓存机制,它很好

我不知道还能做些什么来保证我的数据在我的应用程序的生命周期内是安全的

静态数据成员在进程的“生命周期内”是安全的。如果希望数据在进程终止后继续存在,则需要将该数据存储在数据库、
SharedReferences
或其他类型的文件中

我已经开始讨论这个问题了,尽管我的单例是垃圾收集的,它们的数据被擦除了

不,他们不是。根据定义,不能对单例(静态数据成员)进行垃圾收集

最有可能的是,你看到的是

单例模式在Android上没有任何意义吗

作为一种缓存机制,它很好

我不知道还能做些什么来保证我的数据在我的应用程序的生命周期内是安全的

静态数据成员在进程的“生命周期内”是安全的。如果希望数据在进程终止后继续存在,则需要将该数据存储在数据库、
SharedReferences
或其他类型的文件中

我已经开始讨论这个问题了,尽管我的单例是垃圾收集的,它们的数据被擦除了

不,他们不是。根据定义,不能对单例(静态数据成员)进行垃圾收集

最有可能的是,你看到的是

单例模式在Android上没有任何意义吗

作为一种缓存机制,它很好

我不知道还能做些什么来保证我的数据在我的应用程序的生命周期内是安全的

静态数据成员在进程的“生命周期内”是安全的。如果希望数据在进程终止后继续存在,则需要将该数据存储在数据库、
SharedReferences
或其他类型的文件中

我已经开始讨论这个问题了,尽管我的单例是垃圾收集的,它们的数据被擦除了

不,他们不是。根据定义,不能对单例(静态数据成员)进行垃圾收集

最有可能的是,你看到的是

单例模式在Android上没有任何意义吗

作为一种缓存机制,它很好

我不知道还能做些什么来保证我的数据在我的应用程序的生命周期内是安全的


静态数据成员在进程的“生命周期内”是安全的。如果您希望数据在进程终止后继续存在,则需要将该数据存储在数据库、
SharedReferences
或其他类型的文件中。

您是否在应用程序()级别保留对单例的引用?这将在很大程度上保持它们的持久性(除非它们是byte[]或其他大型文件)

然而,最安全的方法是假设数据将被垃圾收集,并根据该假设构造代码。如果是来自web的内容,请定义一个异步回调来加载数据,然后填充视图。如果它是非用户生成的本地内容,请使用异步从磁盘获取它。如果是用户生成的,您可能需要设置一个数据库(重新启动应用程序时可以清空该数据库)来跟踪数据


但是,如果没有,请先尝试在应用程序中保留对单例的引用。这里的简要介绍:

您是否在应用程序()级别保留对Singleton的引用?这将在很大程度上保持它们的持久性(除非它们是byte[]或其他大型文件)

然而,最安全的方法是假设数据将被垃圾收集,并根据该假设构造代码。如果是来自web的内容,请定义一个异步回调来加载数据,然后填充视图。如果它是非用户生成的本地内容,请使用异步从磁盘获取它。如果是用户生成的,您可能需要设置一个数据库(重新启动应用程序时可以清空该数据库)来跟踪数据


但是,如果没有,请先尝试在应用程序中保留对单例的引用。这里的简要介绍:

您是否在应用程序()级别保留对Singleton的引用?这将在很大程度上保持它们的持久性(除非它们是byte[]或其他大型文件)

然而,最安全的方法是假设数据将被垃圾收集,并根据该假设构造代码。如果是来自web的内容,请定义一个异步回调来加载数据,然后填充视图。如果它是非用户生成的本地内容,请使用异步从磁盘获取它。如果是用户生成的,您可能需要设置一个数据库(重新启动应用程序时可以清空该数据库)来跟踪数据


但是,如果没有,请先尝试在应用程序中保留对单例的引用。这里的简要介绍:

您是否在应用程序()级别保留对Singleton的引用?这将在很大程度上保持它们的持久性(除非它们是byte[]或其他大型文件)

然而,最安全的方法是假设数据将被垃圾收集并构建您的结构