Phonegap – пропустили 33 кадра! Приложение может слишком много работать над своей основной нитью

Я новичок в разработке приложения Android-phonegap. Я хочу отобразить детали студентов из базы данных на сервере. Когда я пытался подключиться к базе данных, он показывает мне « Пропущенные 33 кадра! Приложение может делать слишком много работы над своим основным потоком » в eclipse IDE.

Пожалуйста, дайте мне решение или предложение, если оно есть.

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

Это происходит, главным образом, когда пользователь выполняет тяжелые операции в основном потоке, помните, что Android – это однопоточная система, есть один основной поток, где все остальные подсистемы перехватывают выполнение таких задач, как «Деятельность», «Службы», «Поставщики контента». Поэтому, когда вы выполняете сетевую операцию непосредственно на главном, вы получаете сообщение не отвечающее приложения.

Чтобы уточнить свою ситуацию, сделайте следующее.

  1. Если у вас есть сетевая операция, выполняемая в основном потоке, переместите их в отдельный поток, в родной среде Android у нас есть AsyncTask, попробуйте найти механизм потока в Phonegap

  2. Если у вас есть какие-либо тяжелые операции, такие как сжатие Bitmap и т. Д., Эффективно обрабатывайте их по потокам или логике пост-запуска, это гарантирует, что ваш основной поток свободен для тривиальной задачи, такой как генерация обработки событий событий и т. Д.

В смысле любая логика, которая может занять некоторое время, переместить ее в потоки, это позволит убедиться, что ваш дисплей работает плавно.

Надеюсь, это поможет.

Сделайте взаимодействие с базой или сервером, как показано ниже

this.cordova.getThreadPool().execute(new Runnable() { @Override public void run() { // Place your Database and Network related code here // } }); 

Надеюсь, это поможет вам.