gpt4 book ai didi

java - 带系统 : A resource failed to call release

转载 作者:行者123 更新时间:2023-12-05 00:05:15 25 4
gpt4 key购买 nike

在我的应用程序上使用 AndroidStudio 的控制台时,它显示:

W/System:资源无法调用释放。

有时会说很多遍。我知道这意味着什么,但我已经多次检查了将近 2k 行代码,但我不知道我缺少什么来关闭/发布。

有什么方法可以从控制台扩展此信息?或者您将如何确定资源是什么或何时无法关闭?欢迎任何想法。谢谢。

最佳答案

@guest 的答案有效,但您无需使用 Strict Mode 进行反射即可实现完全相同的效果.具体来说,像这样:

StrictMode.setVmPolicy(new VmPolicy.Builder()
.detectLeakedClosableObjects()
.penaltyLog()
.build());

一般来说,严格模式可以为您做更多事情(参见上面的文档链接),对于默认设置,您需要做的就是:

StrictMode.enableDefaults();  # <-- This includes warning on leaked closeables

要“尽快”启用严格模式,您可以将上述任一代码选项添加到应用程序类的构造函数中,例如:

public class MyApp extends Application {

public MyApp() {
if(BuildConfig.DEBUG)
StrictMode.enableDefaults();
}

}

请注意,除了只创建上面的类之外,您还需要告诉 Android 您已经在 AndroidManifest.xml 中创建了一个自定义应用程序类。 (以便在您的应用程序进程启动时创建它的实例,而不是 Android 创建默认的 Application 类)。您需要添加/修改 android:name <application> 的属性标记指向自定义应用程序类的完全解析包路径(在本例中为 MyApp):

<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:name="com.example.app.MyApp" <-- IMPORTANT PART: ADAPT FOR YOUR ACTUAL PROJECT
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">

关于java - 带系统 : A resource failed to call release,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60253484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com