반응형

Platform/Android 124

[AAC] ViewModel | LiveData

ViewModel 왜 사용해 ? Activity, Fragment 생명주기에 따른 데이터 손실? 관리가 어려워서, 개발자들이 힘들었었다.(= 액티비티에 종속된 UI데이터를 유지하는 것이 힘듦) EX. 가로 ↔ 세로 화면 전환, 앱이 background에 있을 때, 메모리관리/부족 등으로 액티비티를 종료하고 다시 시작하는 경우가 있기 때문에 데이터 관리가 어려웠다. Ex. 여러 Fragment에서 데이터를 공유하려면, 공유하는 하나의 Activity에 데이터를 종속시키고 관리해야 했다. -> Activity의 생명주기에 데이터가 종속됨! 그 이전의 해결책 onSaveInstanceState() -> 직렬화할 수 없는 객체는 저장 X (많은 데이터를 저장하기 위해 디자인 되지 X) Retained Fragm..

Platform/Android 2020.03.18

[Class]

Paraclable 직렬화 interface Serializable보다 Andriod에서 훨씬 빠른 속도를 보여줌 Parcelable.Creator non-null static 필드(필수) Parcel로 부터 값을 읽어 오기 위해서는 Parcelable.Creator Interface 가 필요 public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { @Override public WorkConfig createFromParcel(Parcel source) { return new WorkConfig(source); } @Override public WorkConfig[] newArray(int size) { return new ..

Platform/Android 2020.03.17

[aab] Android App Bundle

aab가 왜 필요해? Android 64bit 지원 정책으로 인해 64bit용 native library를 build하여 package에 추가해야 했기 때문에, 앱 패키지용량은 증가할수 밖에 없는 상황이 되어 버렸다. ---> aab가 해결! aab가 왜 좋은데? - 사용자가 앱을 다운 받을 때, 앱 다운로드 크기 & 디스크 할당 크기 save - Android 6.0 이상: 다운로드 크기, 디스크 할당 크기, 설치 시간 save (how? apk대신 저장되는 압축X 기본 라이브러리 사용) - 사용자에게 필요한 기능 및 설정을 사용자가 요청할 때 제공 - 효율적인 빌드 및 출시 관리: 여러 개의 apk를 빌드하고 게시할 필요 X aab로 어떻게 테스트해? 1.google play beta test에 등록..

Platform/Android 2020.03.06
반응형