1

「Bluetooth をオンにしますか?」を表示する必要があります。私のAndroidアプリケーションのダイアログ。

この目的のために、公式の Android ドキュメントからコードを取得しました。

私のアクティビティ OnCreate() メソッドから、次のことを行います。

if (!mBluetoothAdapter.isEnabled()) {
    Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
    startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}

できます。ただし、ダイアログが表示されるまでに 6 秒ほどかかります。

対応する logcat:

01-06 06:53:04.789 I/ActivityManager(  313): START {act=android.bluetooth.adapter.action.REQUEST_ENABLE cmp=com.android.settings/.bluetooth.RequestPermissionActivity u=0} from pid 6512
01-06 06:53:04.812 I/ActivityManager(  313): START {act=com.android.settings.bluetooth.ACTION_INTERNAL_REQUEST_BT_ON cmp=com.android.settings/.bluetooth.RequestPermissionHelperActivity u=0} from pid 907
01-06 06:53:09.843 I/ActivityManager(  313): Displayed com.android.settings/.bluetooth.RequestPermissionActivity: +5s36ms (total +5s114ms)
01-06 06:53:09.843 I/ActivityManager(  313): Displayed com.android.settings/.bluetooth.RequestPermissionHelperActivity: +5s28ms

このような異常な速度低下の理由は何ですか?また、どのようにデバッグ/修正できますか?

4

1 に答える 1

0

あなたの問題はここにあると思います:

  1. onPause()onStop()またはonSaveInstanceState()重い負荷をかける。
  2. アプリケーションが大量のメモリを使用しているため、ウィンドウ マネージャはガベージ コレクタを待機します
  3. サービスや非同期処理に大きな負荷をかける
  4. IPC (プロセス間通信) メモリがいっぱいになりますが、おそらくこれはあなたの理由ではありません。

あなたの問題はおそらく最初のものだと思います。確認して、見つけたものを教えてください。

于 2012-11-13T20:01:19.267 に答える