0

当用户在我的应用程序中按下后退按钮时。这是场景:

  1. 用户启动应用程序 - 活动显示
  2. 用户按下返回按钮
  3. 用户重新启动应用程序。 此时应用程序只显示一个空白屏幕,没有按钮(主页/返回)响应,一段时间后强制关闭对话框出现。
    注意:如果用户按下“主页”然后重新启动应用程序,则不会发生这种情况,只有当用户按下“返回”然后重新启动它时才会发生。

在我的 onCreate() 中,我有一些网络设置代码。但是,onDestroy() 有相应的清理代码,所以我不明白为什么会这样。

@Override
public void onCreate(Bundle savedInstanceState) {
    Log.d(DEBUG_TAG, "onCreate()");
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

     // Aquire the multicast lock
     // Create an instance of JmDNS
     // Add a listener for Bonjour services of a given type 
}

@Override
protected void onDestroy() {
    Log.d(DEBUG_TAG, "onDestroy()");
     // Remove the services listener 
     // Set the reference to JmDNS instance null
     // Release the multicast lock
    super.onDestroy();
}

不知道发生了什么,也不知道如何调试。

有趣的是—— “Zeroconf Browser” 是我从 Android Market 下载并用于调试我的流行应用程序——似乎也有同样的问题。

编辑:将代码从 onStart()/onStop() 更改为 onCreate()/onDestroy()。和以前一样的问题。

编辑:对于遇到类似问题的任何人,这就是造成我痛苦的原因。Android 代码不是罪魁祸首: http: //sourceforge.net/tracker/index.php ?func=detail&aid=2933183&group_id=93852&atid=605791

4

1 回答 1

2

您可能正在 UI 线程上发出网络请求。您可以查看Painless ThreadingAsyncTask来处理它。

onCreate请注意,在和中进行设置和拆卸可能是个好主意onDestroy在活动的生命周期onStart内可以多次调用;您的代码是否可以防止这种情况?

于 2011-03-30T19:40:47.077 回答