일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- android layout border
- Messenger
- android progressbar setIndeterminateDrawable not working
- java hashmap sorting
- bindservice
- nougat
- app to app transaction
- progressbar custom marshmallow
- android google account add call
- android border custom
- HashMap
- android device add account
- progressbar rounding
- Today
- Total
기타치는 개발자
[Android]Nougat 버전 대응하기 본문
9월 12일날 안드로이드 누가 버전 워크샵 참가한 후 간단히 정리 해보려 합니다.
구글코리아 양찬석님께서 발표해주신 세션을 듣고 유의깊게 봐야될 사항은 아래와 같습니다.
- Multi-Window 지원
- Display Size 변경가능
- Extended Doze
- 브로드퀘스트리시버 (CONNECTIVITY_CHANGE) 메니페스트에 static 하게 선언 불가
1. Multi_Window 지원
- 기존 삼성단말에서 지원하던 Multi-Window 가 누가 버전에서는 기본으로 기능이 탑재 됩니다.
- 기존 삼성단말에서의 Multi_Window 와는 다르게 해당 앱 창이 포커스게 되지 않았을시에 onResume이 타지 않는다고 함.
- 동영상 재생앱 경우 동영상 정지 이벤트를 onPause 가 아닌 onStop 에 하도록 권고 함
멀티 윈도우 막는 방법
- target>=24 : manifest에 android:resizeableActivity=false; 속성 추가
- target<24 : 기존 가로 세로 고정 추가로 가능
세미나에서 넥서스 단말기를 대여해주셔서 확인해 본결과 Multi-Window 시에 화면 크기 조절 및 액티비티 전환 시에 onCreate가 계속 호출되는 상황이 있습니다. 해당 상황이 의도한 것이라고도 하셨고 android:configChanges 설정값을 추가하여 개발할수 있습니다. 실제로 화면 크기 조절시에는 orientation 변경된 것과 동일하게 들어 옵니다. 그리하여 android:configChanges="orientation" 속성을 추가하여 처리하게 되고 화면크기를 한 앱 크기를 어느 일정수준이상으로 늘렷을경우 한화면에 앱 하나게 나오게됩니다. 그상황에서는 screenLayout 을 속성을 추가하여 onCreate 호출되는 것을 막을 수 있습니다.
화면조절시에 레이아웃 조절 같은경우는 좀더 작업을 해봐야지 명확해 질것 같습니다. 하지만 엄청나게 신경싸야되고 그런부분은 없던 것으로 기억합니다.
2. Display size 변경가능
- 환경설정-디스플레이 메뉴에서 화면 사이즈 변경이 가능합니다. 5단계로 조절이 가능하며 dp 가 변동됩니다. .
- 최소 220dp까지 변경되며 리소스 폴더 관련 관리를 신경 써 줘야 합니다.
3. Extended Doze
- Doze 모드는 안드로이드 M버전부터 추가된 기능입니다. 이모드에 들어가는 조건에는 3가지가 있습니다
- 충전중이지 않으며
- 핸드폰이 움직이지 않으며
- 스크린오프상태로 1시간(시간은 정확하지않습니다)
기존 GCM 에서 메세지 보낼떼 High-priority 설정을 해서 보냈을경우 몇분동안 네트워크 사용가능하다고함.
- 기존 CONNECTIVITY_CHANGE 를 메니페스트에 action을 등록하여 리시버로 받아 사용하는 경우가 많다 네트워크 변경됬을때 체크하기위해 많이 사용하게되는데 이상황에서 실제 돌고있는 앱이 아닌 앱들도 리시버등록을 해놓았을대 앱이 다 메모리에 올라와서 메모리 누수가 생기는 경우가 있다고 한다 . 그래서 N 버전부터는 메니페스트에 선언하는 스텍틱한 방법은 지원하지 않으며 런타임에 리시버를 등록해서 사용하도록 권한다
기타 : NEW_PICTURE, NEW_VIDEO 은 지원하지 않는다고한다
기타 :
- File system permision changes ( MODE_WORLD_READABLE/MODE_WORLD_WRITEABLE)
- "file:// URI" 형태로 file경로는 외부로 전달 불가
- private NDK libraries 오류(여러 목록이 있지만 눈에 띄는것은 libcrypto.so 정도)
- 일부 API삭제
읽어주셔서 감사합니다.
'안드로이드 > Android' 카테고리의 다른 글
[Android]Messenger를 사용하여 앱 간 통신하기 (0) | 2016.10.17 |
---|---|
[Android]미디어 파일 새로고침 관련(MediaScannerConnection) (0) | 2016.09.08 |
[Android]VIew 에 원하는 곳에만 border 주기 (0) | 2016.05.24 |