Следующий код рисует график с разными цветами для каждой точки (выбор цвета находится в (...), который здесь не важен).
Я прикрепил это к onTouchListener, который изменяет Вектор, который содержит переменные x, у, г.Один «onTouch» меняет точки, а затем обновляет вид с помощью updateView ().Размер вектора, который содержит х, составляет около 300 элементов.Массив, содержащий y, составляет около 200. Это делает его равным 200 * 300 циклам внутри метода updateView () для каждого события onTouch.Я пытался реализовать метод ожидания до того, как будет запущен следующий метод onTouch, но он все еще медленный.
Есть идеи?
public updateView(){
bitmap = Bitmap.createBitmap((int) width, height - nextToCurve.getHeight(),
Bitmap.Config.ARGB_8888);
canvas = new Canvas(bitmap);
paint = new Paint();
paint.setColor(Color.GREEN);
imageView.setImageBitmap(bitmap);
canvas.drawColor(Color.BLACK);
(...)
//x
for(int i5=start;i5<stop;i++){
//y
for(int i=blockSizeSmall-minBlockSize;i>minBlockSize;i--){
//change color for z
(...)
canvas.drawLine(oldX, oldY, temp3, temp4, paint);
canvas.drawPoint(x,y, paint);
}
imageView.postInvalidate();
}