하드 코어 안드로이드 팬이라면기기에 맞는 새로운 테마, 맞춤 ROM 및 이와 같은 모든 모드를 열심히 사용해보세요. 가장 혼란스러운 점 중 하나는 이러한 모드와 관련된 용어입니다. 개발자에게는 익숙하지만 초보 사용자에게는별로 익숙하지 않습니다. 맞춤 ROM 및 테마에서 가장 일반적으로 발생하는 단어 중 두 가지는 'deodexed'및 'zipalign'입니다. 며칠 전, 우리는 'deodexed'를 자세히 다뤘습니다. 이 기사에서는 살펴볼 것입니다 zipalign의 의미 과 APK를 우편 정렬하는 방법.

ZIPALIGN이란 무엇입니까?
zipalign은 소개 된 아카이브 정렬 도구입니다1.6 Android SDK (소프트웨어 개발 키트)로 처음. APK (Android Application Package)가 패키지되는 방식을 최적화합니다. 그렇게하면 Android 운영 체제가 응용 프로그램과보다 효율적으로 상호 작용할 수 있으므로 응용 프로그램과 전체 시스템을 훨씬 더 빠르게 만들 수 있습니다. zipaligned 응용 프로그램의 실행 시간이 최소화되어 APK를 실행할 때 RAM 소비량이 줄어 듭니다.
정확히 어떻게 작동합니까?
Android 운영 환경에서 데이터 파일각 응용 프로그램 패키지에 저장된 여러 프로세스에 의해 액세스됩니다. 예를 들어, 설치 관리자는 관련 권한을 확인하기 위해 데이터 매니페스트를 읽습니다. 시스템 서버는 알림 표시와 같은 여러 가지 이유로 이러한 리소스를 읽을 수 있습니다. 예를 들어 홈 애플리케이션은 애플리케이션의 이름과 아이콘을 얻기 위해 리소스를 읽습니다. Android는 진정한 멀티 태스킹 운영 인프라를 기반으로하기 때문에 이러한 파일은 지속적으로 반복해서 액세스됩니다. 마지막으로 응용 프로그램 자체가 매니페스트 데이터를 읽습니다.
Android는 Linux 기반이므로 메모리 매핑은프로세스를 효율적으로 처리하는 데 중요한 역할을합니다. 기본적으로 Android OS의 리소스 처리 코드에 대한 최적의 정렬은 4 바이트 경계입니다. 이는 APK가 4 바이트 단위로 메모리 매핑되고 그에 따라 정렬되는 경우 OS가 원하는 데이터 매니페스트를 얻기 위해 전체 애플리케이션 패키지를 '읽을'필요가 없다는 것입니다. 모든 시스템 프로세스는 원하는 리소스를 찾을 위치를 미리 알고 있으므로 훨씬 더 매끄럽고 빠르게 실행됩니다.
요약하면 APK를 zipaligning하면 결과가 모두패키지 내의 압축되지 않은 데이터는 4 바이트 단위로 정렬되어 메모리 맵을 통해 모든 부분에 직접 액세스 할 수 있습니다. 쿼리 코드가 전체 응용 프로그램 패키지를 읽을 필요가 없기 때문에 실행 중 RAM 소비가 줄어 듭니다.
정렬되지 않은 APK의 단점
당연히 상황은 예약 될 것입니다정렬되지 않은 응용 프로그램 패키지 리소스 읽기 속도가 느리고 메모리 사용량이 스펙트럼의 최상위에 있습니다. 정렬되지 않은 응용 프로그램의 수에 따라 다릅니다. 예를 들어 정렬되지 않은 홈 응용 프로그램을 사용하는 응용 프로그램 수가 적 으면 응용 프로그램 시작 시간이 느려집니다. 이것이 가장 좋은 시나리오입니다. 최악의 경우 정렬되지 않은 여러 응용 프로그램을 사용하면 시스템이 프로세스를 반복적으로 시작 및 종료하여 지연 및 배터리 소모로 어려움을 겪을 수 있습니다.
그렇다면 어떻게해야합니까?
앞에서 언급했듯이 zipalign 도구는 1.6 이상부터 Android SDK의 일부가되었습니다. SDK의 'tools'폴더에 있습니다. 사용하려면 다음 명령을 실행하십시오.
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
어디 infile.apk 소스 파일이고 outfile.apk 출력 파일입니다.
또한 다음 명령을 사용하여 APK 파일의 정렬을 확인할 수도 있습니다.
zipalign -c -v <alignment> existing.apk
어디 existing.apk 확인이 필요한 모든 응용 프로그램 패키지가 될 수 있습니다. 또한 <정렬> 두 명령 모두에서 태그는 정수 여야합니다값이 아니면 명령이 유효하지 않은 값을 리턴합니다. 이 값은 정수일 수 있지만 항상 4 여야하며 32 비트 정렬을 제공해야합니다. 다른 가치는 사실상 아무 것도하지 않습니다.
마지막으로이 명령에 사용 된 플래그에 대해
- -에프 : 기존 outfile.zip을 덮어 씁니다.
- -V : 자세한 출력을 제공합니다
- -씨 : 주어진 파일의 정렬을 확인합니다
주의 사항 : zipalign 작업 만 수행해야합니다 후 당신은 당신의 개인으로 APK 파일에 서명했습니다키. 서명하기 전에 zipalign 된 경우, 서명 절차는 정렬을 방해합니다. APK 파일의 다른 변경, 추가 또는 제거에 대해서도 마찬가지입니다. zipalign을 실행 한 후 변경하면 정렬이 취소됩니다.
기권: 이 안내서는 교육 목적으로 만 사용됩니다. 이것은 결코 안드로이드 개발자 툴킷을 대체하거나 개발 목적으로 사용되도록 의도 된 것은 아닙니다. 중독성 팁은 여기에 제시된 자료와 관련된 어떠한 지원도 제공하지 않습니다.
코멘트