7

以前にこの状況に遭遇した人はいますか?Android デバイスの設定ダイアログでアプリを強制停止します。しかし、それpsを介してコマンドを使用するadbと、画面に表示されたままになります。しかし、このプロセスは では取得できませんactivityManager.getRunningAppProcesses()。このプロセスは、このアプリをアンインストールした後も存在し、ランダムに発生しました。

を使用してアプリでポートを開いたため、アプリServerSocketを停止した後、ポートを解放できません。次にアプリを開こうとしたときに、このポートを再び使用できませんでした。

ASUS EeePad を使用していますが、この問題はそのデバイスでのみ発生しているようです。

ちなみに、このプロセスは、プロセス マネージャーなどのサード パーティ ツールでは取得できません。しかし、すべてのプロセスをリストするためにviapidを使用すると、実際には存在します。psadb shell

4

1 に答える 1

0

コードがないので..ここにいくつかのヒントがあります:

1-接続を閉じますか??? これが、ポートをビジーにする主な理由になります。

2-アプリが一時停止、停止、または破棄されるときにソケットをより安全に処理します..onpause、onstop、またはondesotryをオーバーライドして、アプリを閉じる前にポートを解放できます.

3-別のスレッドで接続を確立し、タイマーを実装して、ポートが本当に必要かどうかを確認し(アプリが生きているかどうかを意味します)、そのスレッドを強制終了/終了します(接続)

4-最悪の場合..接続の反対側(サーバー、デバイス..)を制御できる場合は、最初にポートの範囲を確認してから使用できるかどうかを使用するなど、ソリューションをより柔軟にするようにしてください。

幸運を

于 2012-10-20T00:20:23.920 に答える