在分析我的应用程序时,我发现通过使用检索 NsdManager
nsdManager = (NsdManager) getSystemService(Context.NSD_SERVICE); // LEAKS!
正在泄漏活动,而
nsdManager = (NsdManager) getApplicationContext().getSystemService(Context.NSD_SERVICE);
才不是。我制作了一个小型测试应用程序,除了使用 Activity 上下文检索它之外,它对 NsdManager 没有任何其他作用,但它仍在泄漏活动。这是一个错误吗?我真的必须一直使用应用程序上下文吗?
设备:模拟器(Android 11、API 30、x86)