안드로이드 lrucache 예제

저작권 © 2012-2019 vogella GmbH. 소프트웨어 예제의 무료 사용은 이클립스 공공 라이센스 2.0의 조건에 따라 부여됩니다. 이 튜토리얼은 크리에이티브 커먼즈 저작자 표시-비상업적-공유3.0 독일 라이선스에 따라 게시됩니다. 이 구현은 API의 단순성우선 순위를 부여합니다. 리치 API를 사용하려면 Android 프레임워크에서 LruCache를 사용합니다. 안드로이드는 스파스 * 배열 클래스의 여러 구현을 제공합니다. 다음 코드를 고려하십시오. 정말 큰 감사 선생님, 나는 lrucache 및 하위 샘플링을 사용하는 방법에 대한 예를 찾고있다, 나는 몇 가지 예를 보았다하지만 난 당신의 블로그와 예를 찾을 때까지 그들은 복잡해요, 나는 그것을 매우 감사합니다 이해할 수 있어! 새로운 물건 을 게시 계속 희망 참고: 과거에, 인기 있는 메모리 캐시 구현 SoftReference 또는 WeakReference 비트 맵 캐시, 그러나 이것은 권장 하지 않습니다. Android 2.3 (API 수준 9)부터 시작하여 가비지 수집기는 소프트 / 약한 참조를 수집하는 것이 더 공격적이어서 상당히 비효율적입니다. 또한 Android 3.0(API 수준 11) 이전에는 비트맵의 백업 데이터가 예측 가능한 방식으로 릴리스되지 않은 네이티브 메모리에 저장되어 응용 프로그램이 메모리 제한 및 충돌을 잠시 초과할 수 있습니다. 이 클래스는 안드로이드 3.1 (허니콤 MR1)에 나타났다.

이전 릴리스에 대 한 안 드 로이드의 지원 패키지의 일환으로 사용할 수 있습니다. Android는 값을 다른 개체에 매핑하는 데 더 효율적인 데이터 구조를 제공합니다. 가능하면 HashMap을 사용하는 경우와 같이 개체 생성을 방지할 수 있습니다. 개체 생성에는 비용이 많이 들 수 있으며 가비지 수집기를 실행하는 데 필요한 횟수를 줄여야 합니다. 그런 다음 이미지의 배율 조정된 버전을 로드할 수 있습니다. 안드로이드는 두 가지의 힘으로 이미지의 크기를 조정하는 데 정말 좋습니다. 공식 Android 설명서에서 다음 방법을 사용하여 2를 기준으로 배율 계수를 계산할 수 있습니다. 안드로이드에서 LruCache의 두 가지 종류가 있습니다 : LruCache 및 DiskLruCache, fisrt는 개체 세트를 관리자하는 데 사용할 수 있으며 나중에 파일을 관리자하는 데 사용할 수 있습니다. Android 기기는 표준 데스크톱 또는 노트북 컴퓨터보다 전력이 적습니다.

이러한 이유로 메모리 소비에 주의 해야 합니다. 화면 방향 변경과 같은 런타임 구성 변경으로 인해 Android에서 새 구성으로 실행 중인 활동을 삭제하고 다시 시작합니다(이 동작에 대한 자세한 내용은 런타임 변경 처리를 참조하세요).

Bookmark the permalink.

Comments are closed.