2014-10-01 4 views
0

그래서 6 가지 카테고리의 사진이 있고 각 카테고리에는 150-200 개의 사진이 있습니다. 각 사진의 크기는 1MB-10MB입니다. 사진로드를 최적화하는 방법을 모르겠다. 내 ViewPager는 선택한 1 개의 카테고리에서 동시에 4 장의 사진을 보여 주며 해당 카테고리의 모든 사진을 스 와이프 할 수 있습니다. 누군가 나를 올바른 방향으로 이끌 수 있습니까? 임 새로운 안드로이드/프로그래밍과 내가 찾은 모든 것은 복잡합니다.ViewPager에서 게으른 로딩 이미지

감사합니다.

편집 : 또한 "빠른"느낌이 들도록로드하는 방법이 확실하지 않은 270MB 영화가 있습니다.

답변

0

우선 ViewPagerFragmentStatePagerAdapter을 사용하십시오. 많은 수의 이미지로 인해 OutOfMemory 오류를 방지 할 수 있습니다.

http://developer.android.com/reference/android/support/v4/app/FragmentStatePagerAdapter.html

둘째, 이미지 로딩 Picasso를 사용하고 좋은보고를 위해 당신은 아마 전체 해상도를 필요로하지 않기 때문에, 이미지를 크기 조정 고려한다. 당신은 사용자가 설치된 앱의 목록에서 자신이 좋아하는 동영상 플레이어를 선택하도록 할 수 있습니다 경우

https://github.com/square/picasso

그리고 세 번째, 당신은 그렇게해야합니다. 보기에 사용자가 나중에 반환 만약 내가이 라이브러리를 셀 수없이 많은 시간을 사용했다

Android intent for playing video?

+0

감사합니다. 필요한 해상도로 이미지 크기를 조정했습니다. 하지만 지금 당장 내 문제는 내가보기 페이지 호출기를 처음 시작할 때 모든 이미지가로드되고 표시되는 4-5만이 아니라는 것입니다. –

+0

ViewPager의 어댑터를 어떻게 구현 했습니까? –

+0

당신이 물어 본 후 : pager.setOffscreenPageLimit (adapter.getCount()); 하드웨어 가속이 비활성화되었음을 나타냅니다. 내 문제를 해결했다. 감사합니다. 어쨌든 –

3

는 자동으로 이미지를 캐시합니다.

Universial image loader

+0

여기에 있습니다. 나는이 라이브러리를 여러 번 사용했고 그 라이브러리는 굉장했습니다. 추천! –

+0

제 문제는 ViewPager가 처음 호출 될 때 동시에 모든 그림을로드한다는 것입니다. 또한 destroyItem 메소드가 호출되지 않습니다. –

+0

이 라이브러리로 메모리 분석기 도구 (MAT)를 실행 해 본 적이 있습니까? 더 많은 수의 이미지가있을 때이 라이브러리에는 HashMap 자식 개체의 수가 3 배가됩니다. 이로 인해 메모리 누수가 발생할 수 있습니다. –