1
我得到這個簡單的功能的Android FaceDetector.findFaces 100%的CPU時間
private PointF getFaceCenter(Bitmap faceBitmap){
PointF faceCenter = new PointF(faceBitmap.getWidth()/2, faceBitmap.getHeight()/2);
Face[] faces = new Face[1];
mFaceDetector = new FaceDetector(
faceBitmap.getWidth(), faceBitmap.getHeight(), 1);
int detected = mFaceDetector.findFaces(faceBitmap, faces);
if (detected > 0) {
faces[0].getMidPoint(faceCenter);
}
return faceCenter;
}
我用它來獲得面部的中心,這樣我就可以知道在哪裏畫我的畫。我發現我的UI線程成爲重新繪製時卡住所有的時間..
所以我把這個計算的onMeasure
但仍然每次onMeasure
稱爲UI變得緩慢..
我開始分析:
我看到mFaceDetector.findFaces
需要100%CPU時間! 我刪除了人臉檢測代碼,我的應用程序開始運行速度超快。
我做錯了什麼?
任何解決方法?