«С недавним выпуском Android библиотеки поддержки, редакция 24 разработчиков Google запеченные в библиотеке v4 новый вспомогательный класс для асинхронной инфляции макетов»v24 AsyncLayoutInflater раздувает на Ui нить
Это мой код:
Timber.e("Timeinflationstarts");
AsyncLayoutInflater asyncLayoutInflater=newAsyncLayoutInflater(this.getContext());
asyncLayoutInflater.inflate(R.layout.async_calendar,mLinearLayout,
new AsyncLayoutInflater.OnInflateFinishedListener() {
@Override
public void onInflateFinished(View view, int resid, ViewGroup parent) {
parent.addView(view);
Timber.e("timeWhenInflated");
}
});
и это выход:
07-05 20:36:22.331 18250-18250/? E/PersonalFragment: Timeinflationstarts
07-05 20:36:22.371 18250-18250/? E/PersonalFragment: timeWhenInflated
проблема в том, что вид в async_calendar.xml занимает гораздо больше времени (то 0.04s), чтобы увидеть на экране, блокируя поток пользовательского интерфейса!
Я сделал вид еще более тяжелым, чтобы быть уверенным, что отставание, которое я вижу, намного больше, чем 0,04.
Инфляция - всего лишь один шаг на пути к просмотру изображения - как долго ваш взгляд измеряется и компоновка? – ianhanniballake
~ 30 мс для измерения и 2,5 мс для компоновки (при получении времени для узла вида в представлении иерархии). –