Я пишу приложение для Android, которое взаимодействует с Motorola EMDK, и я столкнулся с проблемой синхронизации/потоковой передачи. У меня есть активность, которая добавляет фрагмент для выполнения очень специфической функции с использованием EMDK, отображает экран, который сообщает пользователю, что происходит, а затем очищается от активности примерно через 15 секунд.Почему Fragment.onResume() не отображает мой графический интерфейс до тех пор, пока onResume не закончит полностью?
Я замечаю задержку в 1-2 секунды между тем, когда происходит действие EMDK, в этом случае разблокирована подставка устройства, и когда отображается графический интерфейс пользователя, который говорит: «Колыбель теперь разблокирован».
Я провел некоторое исследование о том, как Android обрабатывает рисунок на экране для фрагментов, и все, что я могу найти, говорит, что onResume называется «когда фрагмент становится видимым». Однако это не соответствует моему опыту. В соответствии с тем, как я понимаю, что приведенный ниже код должен работать, должен быть нарисован экран, а затем вызывается метод EMDKManager.getEMDKManager(), который создает указатель на службу EMDK и создает новый поток для выполнения разблокировки:
@Override
public void onResume() {
super.onResume();
EMDKManager.getEMDKManager(getActivity().getApplicationContext(), this);
}
Это больше похоже на то, что экран нарисован только один раз, когда функция onResume() завершается целиком, то есть EMDKManager.getEMDKManager() завершает свой вызов.
Поскольку фрагмент является объектом EMDKListener, который требуется для второго параметра для метода, я изо всех сил пытаюсь найти способ его правильной передачи. Мне нужен графический интерфейс, который нужно нарисовать первым или в то же время, когда происходит разблокировка подставки.
Есть ли какие-либо другие методы, которые можно переопределить или связать с ними, чтобы получить эквивалент события onViewDrawn() для фрагмента?
спасибо.
Потому что так работает нить нитей и сообщений ... – Selvin
Это был самый бесполезный комментарий. Спасибо. –