public class FileBackupHelper
extends Object
implements BackupHelper
java.lang.Object | |
↳ | android.app.backup.FileBackupHelper |
帮助类,可以与BackupAgentHelper
一起使用来管理一组文件的备份。 无论何时执行备份,自上次备份以来更改的所有文件都将完整保存。 备份第一次发生时,列表中提供给FileBackupHelper(Context, String...)
每个文件FileBackupHelper(Context, String...)
将被备份。
在还原期间,如果助手遇到构建FileBackupHelper对象时未指定文件的数据,则该数据将被忽略。
注意:这应该只用于小配置文件,而不是大的二进制文件。
Public constructors |
|
---|---|
FileBackupHelper(Context context, String... files) 构建一个帮助程序来管理应用程序的数据目录层次结构中的整个文件的备份/恢复。 |
Public methods |
|
---|---|
void |
performBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) 根据 |
void |
restoreEntity(BackupDataInputStream data) 从还原数据集还原一个记录[代表单个文件]。 |
void |
writeNewStateDescription(ParcelFileDescriptor fd) 在恢复操作之后由 |
Protected methods |
|
---|---|
void |
finalize() 当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface android.app.backup.BackupHelper
|
FileBackupHelper (Context context, String... files)
构建一个帮助程序来管理应用程序的数据目录层次结构中的整个文件的备份/恢复。
Parameters | |
---|---|
context |
Context : The backup agent's Context object |
files |
String : A list of the files to be backed up or restored. |
void performBackup (ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState)
根据oldState
,确定需要备份应用程序数据目录中的哪些文件,将它们写入数据流,然后使用现在存在的状态填写newState
。 当oldState
是null
,所有文件都将被备份。
这应该只能从BackupAgentHelper
实现中直接调用。 有关参数含义的描述,请参见onBackup(ParcelFileDescriptor, BackupDataOutput, ParcelFileDescriptor)
。
Parameters | |
---|---|
oldState |
ParcelFileDescriptor : An open, read-only ParcelFileDescriptor pointing to the last backup state provided by the application. May be null , in which case no prior state is being provided and the application should perform a full backup. |
data |
BackupDataOutput : An open, read/write BackupDataOutput pointing to the backup data destination. Typically the application will use backup helper classes to write to this file. |
newState |
ParcelFileDescriptor : An open, read/write ParcelFileDescriptor pointing to an empty file. The application should record the final backup state here after writing the requested data to the data output stream. |
void restoreEntity (BackupDataInputStream data)
从还原数据集还原一个记录[代表单个文件]。
这应该只能从 BackupAgentHelper
实现中直接调用。
Parameters | |
---|---|
data |
BackupDataInputStream : An open BackupDataInputStream from which the backup data can be read. |
void writeNewStateDescription (ParcelFileDescriptor fd)
在恢复操作之后由BackupAgentHelper
调用以写入由助手处理的对应于数据的备份状态文件。 此处写入的数据将在下次调用其performBackup()
方法时供助手使用。
即使在还原操作期间从未调用处理程序的 restoreEntity()
方法,也会调用此方法。
注:帮助程序不应关闭或查找 newState
文件描述符。
Parameters | |
---|---|
fd |
ParcelFileDescriptor : A ParcelFileDescriptor to which the new state will be written. |
void finalize ()
当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize
方法以处置系统资源或执行其他清理。
的常规协定finalize
是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 finalize
方法可以采取任何行动,包括使该对象再次可用于其他线程; 然而, finalize
的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。
finalize
类的方法Object
执行特殊操作; 它只是正常返回。 Object
子类可能会覆盖此定义。
Java编程语言不保证哪个线程将为任何给定的对象调用finalize
方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。
在对对象调用 finalize
方法之后,在Java虚拟机再次确定没有任何方法可以通过尚未死亡的任何线程访问此对象之前,不会采取进一步的操作,包括可能的操作通过准备完成的其他对象或类别,此时该对象可能被丢弃。
对于任何给定的对象,Java虚拟机永远不会多次调用 finalize
方法。
finalize
方法抛出的任何异常 finalize
导致终止此对象的终止,但会被忽略。
Throws | |
---|---|
Throwable |