Вниз  OwnLang
- 12.12.2019 / 17:38
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
RblSb, я уже начал делать так, как требуется, теперь нельзя что-то менять.
Представь, ты с самой первой версии ставил с 4пда, а с очередным обновлением изменилась подпись и тебе приходится переустанавливать приложение (отбросим патчи для отключения проверок). А всё потому, что Кайдзи-мен посоветовал автору лить такой же апк, как и в плее.

Alexandr, обновил на 4пда.
__________________
 let live
- 12.12.2019 / 18:40
RblSb
  Пользователь

RblSb 
Сейчас: Offline
aNNiMON, Если у приложения нет каких-то важных настроек - выглядит как хорошая богданоптимизация! Главное чтобы в плее не забанили
- 12.12.2019 / 21:20
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
aNNiMON, а если онли с GPlay ставил, всё норм работать будя?
__________________
 знает толк
- 13.12.2019 / 00:42
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
Почему, время от времени оно вылетает с такой ошибкой? :gg:
https://annimon.com/forum/file22148/Screenshot_20191213-003052~01.png
Открыть спойлер



Прикрепленные файлы:
Screenshot_2019(...).png (87.62 кб.) Скачано 252 раза
- 13.12.2019 / 14:07
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Alexandr, ошибка где-то при обращении к массиву b на одной из строчек 75, 76, 78, 82 или 83.
Предполагаю, это из-за того, что на 99 строке ссылка на массив b обновляется в тот самый момент, когда в потоке интерпретатора (а touch выполняется в ui-потоке) происходит обращение к элементам массива.
Похоже, что нужно вводить блокировку на уровне языка.

:ps: С arraySplice разберись чуток, там не так сложно. Тебе нужно вырезать только один i-ый/j-ый элемент, а пытаешься вырезать i/j таких. Из-за этого при "съедании" старого элемента у тебя пропадают все созданные после него.
__________________
 let live

Изменено aNNiMON (13.12 / 14:10) (всего 3 раза)
- 13.12.2019 / 14:36
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
aNNiMON, Тебе нужно вырезать только один i-ый/j-ый элемент, а пытаешься вырезать i/j такихТогда для удаления одного элемента, нужно arraySplice(array, start, 1)?
Прост думал что второй и третий параметры это start и end.
- 13.12.2019 / 15:03
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
aNNiMON, Предполагаю, это из-за того, что на 99 строке ссылка на массив b обновляется в тот самый момент, когда в потоке интерпретатора (а touch выполняется в ui-потоке) происходит обращение к элементам массива.И как это можно по фиксить, здесь есть что-то подобное synchronized?
- 13.12.2019 / 15:51
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Alexandr, Пост #513873 да, arraySplice(arr, i, 1)
Пост #513874, можно попробовать три варианта.
1. Держать массив из N элементов и просто обнулять значения вместо удаления.
2. Переписать так, чтобы в момент прохода по циклам в update использовался другой массив. Таким образом, добавление новых элементов гарантированно не будет происходить в момент обновления. Но тогда нужно как-то информировать об удалении элемента.
3. Сделать отдельный массив для добавления. В onTouch будет добавляться элемент в этот массив, а потом после/перед циклами добавлять из него в массив b, а потом очищать. Получится как бы буфер добавления.

И ещё, ты можешь вынести
  1. canvas.setTextSize(25)
до цикла отрисовки. А очищать экран при помощи
  1. g.drawColor(#ff000000)

__________________
 let live

Изменено aNNiMON (13.12 / 16:14) (всего 2 раза)
- 13.12.2019 / 16:19
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
aNNiMON, ааа, благодарю!
- 13.12.2019 / 17:05
Alexandr
  Пользователь

Alexandr 
Сейчас: Offline
Вообщем, я зделат ему буффер, теперь скриптек падает реже. :gg:
Ошибки



Прикрепленные файлы:
StarSystem.own (2.22 кб.) Скачано 156 раз
Наверх  Всего сообщений: 586
Фильтровать сообщения
Поиск по теме
Файлы топика (60)