라이브러리
메모리와 지원 시계
fēnix 7 Pro 기준으로 라이브러리는 앱에 5.5 KB, 워치 페이스나 데이터 필드에 2.3 KB를 더합니다. fēnix 6 Pro, Forerunner 55 같은 오래된 시계에서는 조금 더 차지합니다. 추가 기능 폴더는 그 기능을 쓰는 앱에만 더해집니다.
측정 크기
릴리스 빌드(-O 2z, 크기 최적화)로 측정했습니다. 코드와 데이터를 합한 값에서 아무것도 없는 빈 호스트 앱을 뺀 값입니다. 추가 기능 두 행은 코드만입니다.
| 구성 요소 | fēnix 7 Pro | fēnix 6 Pro, Forerunner 55 |
|---|---|---|
앱(app 및 glance), 잠금 해제 애니메이션 포함 | 5.5 KB | 7.2 KB |
| 그중 잠금 해제 애니메이션 | 0.75 KB | 1.0 KB |
워치 페이스와 데이터 필드(face), 로그인 알림 포함 | 2.3 KB | 2.7 KB |
| 글랜스 부분만 | 0.4 KB | 측정 안 함 |
리뷰와 답장, "구매하셨나요?"(extras), 추가한 경우만 | 1.9 KB | 2.5 KB |
휴대폰으로 내보내기(export), 추가한 경우만 | 2.7 KB | 3.7 KB |
데이터 피드(feeds), 추가한 경우만 | 1.1 KB | 1.3 KB |
서버가 대부분의 일을 하므로 시계 코드는 작게 유지됩니다. 문구, 레이아웃, 타이밍, QR 코드 행을 바로 그릴 수 있게 보냅니다.
내 빌드 확인
테스트를 통과해도 메모리에 들어가는지는 알 수 없습니다. 오래된 시계에서는 메모리가 진짜 한계이므로, 라이브러리를 넣은 앱을 확인하세요:
- 릴리스 모드로 빌드하고 지원하는 시계 중 메모리가 가장 적은 시계에서 실행하세요.
- watchdog이 엄격한 시계에서 릴리스 빌드를 실행하세요. 오래된 시계는 콜백당 명령어 120,000개를 허용합니다. 라이브러리는 그 안에서 동작합니다. 구매 화면의 QR 행은 서버에서 오고, 시계는 어두운 셀이 이어진 부분만 그립니다.
- 타이머 수를 세세요. 구매 화면이 타이머 하나를,
extras폴더가 하나를 더 씁니다. 시계는 몇 개만 허용합니다. - 시뮬레이터나 실제 시계에서 원형, 사각형, Instinct 화면의 모든 화면을 확인하세요.
지원 시계
- 앱 종류: 워치 앱, 워치 페이스, 데이터 필드.
- 모든 시계에 빌드 하나. 라이브러리가 실행 중에 시계에 있는 기능을 확인합니다. 부드러운 그리기, 알림음, Instinct의 보조 화면, 워치 페이스의 로그인 알림입니다. 관리할 주석이나 시계별 빌드가 없습니다.
- 화면 모양: 원형, 정사각형, 직사각형, 그리고 보조 화면이 있는 Instinct 화면. Instinct 3 AMOLED 등 일부 Instinct에는 보조 화면 호출이 없어, 라이브러리가 호출 전에 확인합니다.
- 색상: 64색 화면과 Forerunner 55의 8색. 시계 화면을 참고하세요.
- 연결: Wi-Fi가 있는 시계는 휴대폰이 없어도 Wi-Fi로 요청할 수 있고, 나머지는 휴대폰을 통해 요청합니다.
오래된 시계
- 오래된 시계에서는 같은 코드도 더 많은 공간을 차지합니다. 위의 두 열을 비교해 보세요.
- vívoactive 3, fēnix 5S 같은 128 KB 시계는 앱 전체를 담을 공간이 가장 적습니다. 라이브러리 공간을 남겨 두고 릴리스 빌드로 메모리를 확인하세요.
- 백그라운드 코드의 메모리가 가장 적습니다. 워치 페이스의 백그라운드 부분은 요청 하나와 그 응답만 처리합니다.
- 로그인 알림을 보낼 수 없는 시계의 워치 페이스도 QR 코드와 설정 링크로 판매됩니다.
라이브러리 릴리스 전마다
릴리스마다 115개 시계 모델 전체용으로 빌드하고, vívoactive 3, fēnix 5S, Instinct 3, fēnix 7 Pro에서 메모리를 확인하며, watchdog이 가장 엄격한 시계에서 릴리스 빌드를 실행합니다.