2014-11-07 2 views
0

Android 앱을 개발 중이며 조각을 사용 중입니다. 앱이 시작되는 동안 나는 그것들을 모두 만들고 그 다음에는 단편들을 바꿔 치기 만하면됩니다. 그것은 잘 작동하지만, 이미 응용 프로그램이 시작되면 백그라운드에서 그들을 모두 만들 가능성이 있습니까?Android 속도 최적화 : 배경에 조각을로드하십시오.

+0

정상적으로 작동하는 경우 해결하려는 문제는 무엇인가요? – corsair992

+0

매우 느립니다. 하나의 조각에 이미 10 초를로드합니다. 그리고 나는이 크기의 조각 약 5 개를 갖고 싶습니다. 내 레이아웃이 너무 커질 수는 있지만, 내가 무엇을 바꿀 수 있는지 알지 못합니다. –

+0

조각 인스턴스 생성 자체는 비교적 저렴한 작업이며 10 초 근처에 없습니다. 일부 데이터를로드하는 경우 작업 유형에 따라 다소 시간이 걸릴 수 있습니다. – corsair992

답변

0

"배경"의 의미에 따라 다릅니다.

Fragment은 주/UI 스레드에서 만들어야하므로 아무 것도 대체 스레드에서 인스턴스화 할 방법이 없습니다.

그러나, 당신과 같은 Fragment 모음의 생성을 지연시킬 수 있습니다 :이 run() 방법 2 초 후에 실행하게됩니다

View view = findViewById(R.id.yourView); 
    view.postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      // create fragments here 
     } 
    }, 2000); 

. 해당 메소드 내부의 모든 내용은 기본 스레드에서 실행됩니다.

관련 문제