0

在清单中声明 BackupAgentHelper 并执行以下操作时:

bmgr backup com.example.package
bmgr run

我得到以下我无法理解的错误跟踪:

2022-01-03 16:50:58.790 2208-2218/com.example.package E/StrictMode: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks.
    java.lang.Throwable: Explicit termination method 'close' not called
        at dalvik.system.CloseGuard.open(CloseGuard.java:184)
        at android.os.ParcelFileDescriptor.<init>(ParcelFileDescriptor.java:180)
        at android.os.ParcelFileDescriptor$1.createFromParcel(ParcelFileDescriptor.java:916)
        at android.os.ParcelFileDescriptor$1.createFromParcel(ParcelFileDescriptor.java:906)
        at android.app.IBackupAgent$Stub.onTransact(IBackupAgent.java:64)
        at android.os.Binder.execTransact(Binder.java:446)

似乎 BackupAgentHelper 没有关闭 ParcelFileDescriptor 的:

public void onBackup(ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) throws IOException

但据我了解,这不应该是必要的,也不是在他们的示例应用程序中手动完成的。

任何人都可以提供这里发生的事情的线索吗?

4

0 回答 0