По какой-то причине я обнаружил сбой, который не имеет никакого смысла и появляется только на Galaxy Note 4, как я думаю сейчас. Только тестовые устройства у меня есть это Nexus 7 (2012), синяя стека бета и Примечание 4. Эта ошибка только появляется на банкноте 4. Вот код рисования:Случайное мигание, происходящее только на галактике Примечание 4
if(!started){
continue;
}
h = getHolder();
if (!h.getSurface().isValid()){
continue;
}
Canvas c = h.lockCanvas();
c.drawRect(0, 0, this.getWidth(), this.getHeight(), white);
//draw walls
for(int i=0;i<walls.length;i++){
c.drawRect(walls[i].x, walls[i].y, walls[i].bottom, walls[i].right, red);
}
//draw portals
for(int i=0;i<portals.length;i++){
Log.d("S", i+"");
Log.d("S", portalimages[i].toString());
c.drawBitmap(portalimages[i], portals[i].x1, portals[i].y1, null);
c.drawBitmap(portalimages[i], portals[i].x2, portals[i].y2, null);
}
//draw startlocations
for(int i=0;i<startlocations.length;i++){
c.drawBitmap(player, startlocations[i].x, startlocations[i].y, null);
}
//draw checkpoints
for(int i=0;i<checkpoints.length;i++){
c.drawRect(checkpoints[i].x, checkpoints[i].y, checkpoints[i].x+this.getHeight()/18, checkpoints[i].y+this.getHeight()/18, blue);
}
//draw middle line
c.drawRect(0, getHeight()/2-getHeight()/80, getWidth(), getHeight()/2+getHeight()/80, black);
menu.draw(c);
h.unlockCanvasAndPost(c);
глюк случается однажды мой onClick. он просто добавляет новую startlocation:
startlocations[location] = new Coord(lastx, lasty);
if(location>0){
location = 0;
}else{
location++;
}
break;
Примечание: startlocations является установка с startlocations = new Coord[2];
Извините за качество видео. Примечание 4 - это мой папа, поэтому мне пришлось отправить его через службу обмена сообщениями, и он сжал его, а затем YouTube сжал его больше. Затем вырывается следующее: https://www.youtube.com/watch?v=Ig9mflYBPaI
Ничего не изменится при щелчке по кнопке начала старта игрока. Я постараюсь больше поработать над этим, но я решил опубликовать его здесь, если я что-то пропустил. Благодаря!
Edit:
теперь я знаю, что эта проблема уходит, когда вы не имеете эту строку: c.drawBitmap(player, startlocations[i].x, startlocations[i].y, null);
, которая не имеет никакого смысла. Нет ошибки, и он загружается с помощью этого кода. BitmapFactory.decodeResource(getResources(), R.drawable.portal);
, а затем отрегулирован с Bitmap.createScaledBitmap(player, this.getHeight()/18, this.getHeight()/18, true);