【发布时间】:2012-12-06 19:45:39
【问题描述】:
执行此行后:
WifiManager man = ((WifiManager) ctx.getSystemService(Context.WIFI_SERVICE));
将显示一个标有“WifiManager”的线程。在WifiService.java line 203的Java源文件中:
HandlerThread wifiThread = new HandlerThread("WifiService");
wifiThread.start();
mWifiHandler = new WifiHandler(wifiThread.getLooper());
问题是,每次我们的应用程序关闭并重新打开时,它都会创建一个新线程,运行 5 次,您就有 5 个线程。不知道有没有办法阻止它?
编辑
更改为 getApplicationContext 以确保它正在访问的上下文是一致的并且一切正常。我仍然得到一个标有“WifiService”的线程,但我在多次运行时只得到一个线程。
【问题讨论】:
-
谁拥有您所看到的线程?它们是否与您的应用程序或系统进程具有相同的用户和进程 ID?您是在特定设备上还是在模拟器中查看此内容? “关闭并重新打开”是否意味着返回/主页并打开,或强制停止该过程?如果是前者,当你做后者时会发生什么?
标签: java android android-wifi