Перемещение текста и перерисовка проблем с устройством Image

То, что я хочу, текст перемещается пальцем по изображению, на кнопке щелчок перерисовывает существующее изображение в новое, которое на нем накладывается.

Он отлично работает для v3.1, а также для эмулятора. Но я попытался протестировать устройство v2.2, оно встречается с форсом Close.While, у него есть вся поддержка Devices.Can вы поможете мне отсюда. Он будет иметь решающее значение за несколько недель. Спасибо заранее.

///Redrawing the image & touchin Move of the Canvas with text public void redrawImage(String path,float sizeValue,String textValue,int colorValue) { BitmapFactory.Options options = new BitmapFactory.Options(); try { options.inMutable = true; } catch (Exception e) { // TODO: handle exception System.out.println("#############Error is======"+e.getMessage()); } Bitmap bm = BitmapFactory.decodeFile(path,options); proxy = Bitmap.createBitmap(bm.getWidth(), bm.getHeight(), Config.ARGB_8888); Canvas c = new Canvas(proxy); //Here, we draw the background image. c.drawBitmap(bm, new Matrix(), null); Paint paint = new Paint(); paint.setColor(colorValue); // Text Color paint.setStrokeWidth(30); // Text Size paint.setTextSize(sizeValue); System.out.println("Values passing=========="+someGlobalXvariable+", "+someGlobalYvariable+", " +sizeValue+", "+textValue); //Here, we draw the text where the user last touched. c.drawText(textValue, someGlobalXvariable, someGlobalYvariable, paint); popImgae.setImageBitmap(proxy); } 

Это поможет узнать, когда произойдет силовая операция, как сразу после запуска приложения, как только вы коснетесь, прежде чем текст когда-либо рисуется?

Отладка на устройстве
Довольно простой и надежный метод запускает код в режиме отладки на самом устройстве. Добавьте точку останова в начале вашей функции и перейдите по каждой строке, пока она не закроет.

Возможно, OOM
Если вы повторно вызываете redrawImage, как и каждый кадр во время касания, то выделение нового растрового изображения может быстро съесть много памяти и вызвать сбой:

 Bitmap bm = BitmapFactory.decodeFile(path,options); 

Тогда сила закрытия может произойти после бит. Попробуйте изменить bm на поле метода или поле члена, которое выделяется и читается из файла один раз.