Сахар ORM медленный

android android-recyclerview sugarorm

389 просмотра

1 ответ

У меня есть мероприятие, в рамках которого есть пять обзоров переработчиков. Каждый просмотрщик имеет свои данные, которые загружаются из веб-сервисов.

Я использую сахарную форму для сохранения и получения данных.

 JSONObject latestRingtoneTenJSONObject = dialogue.getJSONObject(i);
 String albumId = latestRingtoneTenJSONObject.getString("album_id");
 String title = latestRingtoneTenJSONObject.getString("album_name");
 String albumName = latestRingtoneTenJSONObject.getString("total_songs");
 String imgUrl = latestRingtoneTenJSONObject.getString("img_url");
 Log.d("Note", "saving");
 Dialog kbAlbums = new Dialog( albumId, title , albumName,imgUrl);
 SugarRecord.saveInTx(kbAlbums);

Проблема в том, что я получаю следующее предупреждение,

Приложение может выполнять слишком много работы в своем основном потоке. Это замораживает мое приложение

Я использую поток пользовательского интерфейса, чтобы обновить представление переработчика, хотя

MainActivity.act.runOnUiThread(new Runnable() {
                                public void run(){
                                    loadRecyclerView();
                                }
                            });
Автор: Learner Источник Размещён: 08.11.2019 11:19

Ответы (1)


1 плюс

Поток пользовательского интерфейса является основным потоком.

Гораздо более вероятно, что другие части вашего кода вызывают блокировки пользовательского интерфейса, используйте отладчик, чтобы проанализировать, какие части занимают больше времени. Это может быть что-то, что зависит от сетевого подключения, в данном случае loadRecyclerView();.

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

Автор: JakeSteam Размещён: 15.09.2016 02:58
Вопросы из категории :
32x32