- 0
Баг в StringToJString - память не освобождается
-
Похожий контент
-
- 12 ответов
- 483 просмотра
-
- 2 ответа
- 283 просмотра
-
- 0 ответов
- 554 просмотра
-
- 9 ответов
- 1 399 просмотров
-
- 1 ответ
- 846 просмотров
-
- 4 ответа
- 962 просмотра
-
- 2 ответа
- 829 просмотров
-
- 0 ответов
- 701 просмотр
-
Поставил Delphi 10.4 - не могу скомпилировать приложение под Android
От Delpher-X,
- delphi 10.4.2
- android
- (и ещё 2 )
- 24 ответа
- 3 054 просмотра
-
- 4 ответа
- 1 266 просмотров
-
-
Последние посетители 0 пользователей онлайн
- Ни одного зарегистрированного пользователя не просматривает данную страницу
Вопрос
soippv
Здравствуйте!
Пишу на Delphi в Rad Studio 10 Seattle.
Вы будете в шоке, но я нашел очень серьезный баг при работе нативных стандартных функций для Android.
Вот простой пример:
// Подключите дополнительно: Androidapi.Helpers function Test:boolean; var ii:integer; begin Result:=false; try ii:=0; while (ii<100000) do begin try ii:=ii+1; log.d('Number='+inttostr(ii)); StringToJString('TEST') ; //CRASH AFTER ~ 51200 except end; Result:=true; end; except end; end;
Приложение падает (исключение не ловится) если вызвать эту функцию! В logcat вижу следующую информацию об ошибке: JNI ERROR (app bug): global reference table overflow (max=51200) ....
Получается StringToJString не освобождает память.
Я пробовал также присваивать Js:JString; Js:= StringToJString('..'); Js._Release ; пробовал много способов по удалению выделенного объекта, но результат был отрицательный!!!
Помогите решить проблему с использование обычных строк JString!!
Как правильно освободить память из под JString?
Ссылка на комментарий
2 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.