カメラの懐中電灯を特定の時間、理想的には0.5秒ごとに約2msの精度で点滅させる必要があります。私はそれをうまく管理していますが、setTorchModeへの呼び出しはほぼ1/2秒かかると思われます。私はRunnableに呼び出しを入れようとしましたが、(期待通りに)バックログが作成されます。ここで私のタイミング測定である:setTorchModeが非常に遅いですが、どうすれば通話をスピードアップできますか?
public void doFlash() {
if (cameraManager == null) return;
try {
Log.d(TAG,"1="+System.nanoTime()/1000000);
cameraManager.setTorchMode(cameraId, true);
Log.d(TAG,"2="+System.nanoTime()/1000000);
yield();
Log.d(TAG,"3="+System.nanoTime()/1000000);
cameraManager.setTorchMode(cameraId, false);
Log.d(TAG,"4="+System.nanoTime()/1000000);
Log.d(TAG,"-------------");
} catch (Exception e) {
Log.d(TAG, "Could not switch on flash");
}
}
}
02-02 23:06:57.950 17528から17792/tech.glasgowneuro.attyseeg D/EPFragment:1 = 1662873286 02-02 23:06:58.668 17528から17792/D/EPフラグメント:2 = 1662874004 02-02 23:06:58.668 17528-17792/tech.glasgowneuro.attyseeg D/EPフラグメント:3 = 1662874004 02-02 23:06:59.149 17528-17792/tech.glasgowneuro.attyseeg D/EPFragment:4 = 1662874484 02-02 23:06:59.149 17528-17792/tech.glasgowneuro.attyseeg D/EPFragment:------------- 02- 02 23:06:59.149 17528-17792/tech.glasgowneuro.attyseeg D/EPフラグメント:1 = 1662874484 02-02 23:06:59.649 17528-17792/tech.glasgowneu D/EPフラグメント:2 = 1662874985 02-02 23:06:59.649 17528-17792/tech.glasgowneuro.attyseeg D/EPフラグメント:3 = 1662874985 02-02 23:07:00.074 17528-17792/tech。 glasgowneuro.attyseeg D/EPFragment:4 = 1662875409
なぜこの機能が長くかかるのでしょうか?より速い他の通話がありますか、これは2ms以内にどのように行うことができますか?