Я подготовил приложение для рисования, мое приложение содержит одно настраиваемое представление для рисования. Когда мы рисуем любую вещь в настраиваемом представлении, просто собираем нарисованные пиксели и сохраняем их в списке массивов, сначала все работает нормально (но это занимает много времени) ивторой раз «Activity MyAlphabets (в приложении MyAlphabets) не отвечает (принудительное закрытие и ожидание)».
Мой код,
public void onDraw(Canvas canvas) {
if (myDrawBitmap == null) {
myDrawBitmap = Bitmap.createBitmap(canvas.getWidth(),
canvas.getHeight(), Bitmap.Config.ARGB_8888);
bmpDrawCanvas = new Canvas(myDrawBitmap);
intDrawArray = new int[myDrawBitmap.getWidth()
* myDrawBitmap.getHeight()];
}
if (bmpDrawCanvas != null) {
for (Path path : MyActivity.mArryLstPath) {
bmpDrawCanvas.drawPath(MyActivity.mPath,
mPaintAlphabet);
}
myDrawBitmap.getPixels(intDrawArray, 0, 220, 0, 0, 220, 305);
for (int i = 0; i < intDrawArray.length; i ++) {
if (intDrawArray[i] == 0xFFFFFFFF) {
if (MyActivity.mArryLstDrawnPixels.contains(i)) {
} else {
MyActivity.mArryLstDrawnPixels.add(i);
}
}
}
, когда мы нажимаем «принудительное закрытие» Logcat,
INFO/ActivityManager(52): Killing process com.qteq.myapplication (pid=225) at user's request
INFO/Process(52): Sending signal. PID: 225 SIG: 9
INFO/ActivityManager(52): Process com.qteq.myapplication (pid 225) has died.
INFO/WindowManager(52): WIN DEATH: Window{608fbd10 com.qtq.myapplication/com.qtq.myapplication.MyApplicationActivity paused=false}
INFO/UsageStats(52): Unexpected resume of com.android.launcher while already resumed in com.qtq.myapplication
ERROR/gralloc(52): [unregister] handle 0x4a2740 still locked (state=40000001)
WARN/InputManagerService(52): Got RemoteException sending setActive(false) notification to pid 225 uid 10025
Это правильный способ сбора цветных пикселей во время рисования. Пожалуйста, помогите мне ..
как решить эту проблему.пожалуйста, помогите мне ..