ViewPager 및 일부 파편이 포함 된 활동이 있습니다.활동 시작 시간 개선 (AsyncTask?)
문제 : 그것은 ViewPager가 onResume 메도에서 만들어지기 때문에 활동을 시작하는 연령이 걸립니다. 데이터베이스 요청으로 인해 2-3 초.
은 내가 onResume에서 AsyncTask를 시작하고 거기에 무거운 작업을 수행 할 수 있습니다 생각했다. 그러나 활동을 시작하는 시간은 줄어들지 않습니다. 내가보기에 버튼을 배치하고 할 경우는 온 클릭 모두의 작업은 잘 작동합니다. 활동이 정말 빨리 시작하고 클릭 후 무거운 작업이 시작됩니다. 작업이 활동의 시작 시간이 향상되지 않습니다 onResume
@Override
protected void onResume() {
super.onResume();
LoadTask task = new LoadTask();
task.execute();
}
이 솔루션이라고
AsyncTask를 구현
private class LoadTask extends AsyncTask<Void, Integer, Boolean>{
@Override
protected Boolean doInBackground(Void... params) {
PageAdapter mPageAdapter = new PageAdapter(
getSupportFragmentManager(), mFragments);
mViewPager.setAdapter(mPageAdapter);
return true;
}
}
: 약
일부 코드 생각합니다.
활동을 시작하는 방법이 있나요 및 (진행 막대 ...)가 무거운 작업을하고 모든 것을 팽창하고 표시 한 후
?
처음에는 ViewPager가 비어 있습니다. XML로 작성됩니다. 그러나 나는 그것을 볼 수 없다. ViewPager는 PageAdapter를 컨텐츠로 설정하여 컨텐츠로 채워진다. 그리고 asynctask에서 asyncronysly가 발생합니다. 그러나 asynctask가 끝난 후에 전체 활동이 표시됩니다. asyncTask가 일을하는 동안 Activity가 그려지지 않은 이유는 분명하지 않습니다. – passsy
비동기 작업을 모두 주석으로 처리하면 예상대로 (빠르게로드 됨) 호출기에서 합법적 인 데이터가 채워지는 것만 큼 작동합니다. 코드가 좀 더 필요할 수 있습니다. 또한로드하려는 데이터의 양과 테스트 할 시스템의 사양은 무엇입니까? – dcow