arter97
15.04.28
조회 수 16203
추천 수 44
댓글 19
흔히들 말하는 '롤리팝 메모리 누수'에 대해
몇 가지 꼭 아셔야할 것들이 있는거 같아 작성합니다.

1. "버그 없는 소프트웨어는 없다" <==> "메모리 누수 없는 소프트웨어는 없다"
비슷한 맥락입니다. 버그 없는 소프트웨어는 없듯이 메모리 누수 없는 소프트웨어도 없습니다.
리눅스 커널도 메모리 누수 있으며 4.0+ 버전에서도 계속 보고되며 픽스되는 등 뫼비우스의 띠를 돌듯 개발 과정에서 반복되는 사이클입니다.

2. 킷캣도 당연히 메모리 누수 있습니다.
롤리팝 설정 앱에서 "시스템 메모리"라고 따로 표시되는 기능이 추가되어 롤리팝에서만 심해보일 뿐입니다.
롤리팝 전에는 계속 "가용램 적네요"라고 하셨잖아요? 같은 맥락입니다.

3. 이번 롤리팝에서 유난히 심해보이는 이유
(특정 상황에서) 그래픽 자원이 메모리에서 내려가지 않는 ColorFade의 잘못된 코드와 커널 단에서 여러 새로운 시도를 하느라 메모리 할당량이 늘거나 새로운 메모리 할당에 문제가 생긴건 사실입니다.
ColorFade쪽은 CyanogenMod 12.0를 비롯한 여러 커스텀롬, artware, 공식 Android 5.1에서 수정되었습니다. (기타 Android 5.0 제조사 롬들은 모르겠네요)
커널 쪽은 제조사마다 다르겠지만 넥서스를 기준으론 Android 5.0때 뭔가 망친건 분명합니다.
넥서스 7은 동영상 재생도 뻑나고
넥서스 5는 멀티태스킹 성능이 눈에 띌 정도로 훨씬 뒤 떨어지는 등..
(번외론 Android 5.1에서 커널을 집중공략해 메모리 효율을 개선한 시도가 눈에 띕니다.
그래픽쪽만 20-30개 정도 커밋되었고 fs/seq_file.c 에도 여러 커밋이 되었습니다.)

4. 삼성 VS LG?
LG쪽은 잘 안봐서 솔직히 정확히 말씀은 못 드리겠습니다.
다만 "이럴 가능성도 있다"는 전제하에 말씀드리겠습니다.
경량화 되어있기로 유명한 AOSP와 비교해도 LG 롤리팝 펌웨어의 시스템 메모리 할당량이 적어도 너무 이상할 정도로 적습니다.
설정 앱에서 시스템 메모리 표기되는 계산 공식을 LG가 변경했을 수도 있다는 점과 오픈소스이기에 그렇게 변경해서 눈속임해도 절대 문제될거 없다는 점도 알아두세요.
"캐쉬된 프로세스 표시"에 나온걸 보셔야 남은 메모리가 정확히 나오는겁니다.

5. Android 5.1
안그래도 5.0때 메모리 누수로 욕 엄청 먹었는데 구글이 미쳤다고 가만히 앉아서 도넛만 먹진 않았을거란 말입니다, UI가 비슷하다고 내부도 비슷할 착각은 버리세요.
위에서 말씀드렸듯이 메모리 누수에 큰 비중을 차지하는 ColorFade는 이미 5.1에 픽스되었고 커널 단에서도 많은 개선이 이루어졌습니다.
프레임워크(자바)에서도 많은 메모리 개선이 이루어졌고
ART 런타임에서도 (5.0 Xposed가 더 이상 호환되지 않을 정도로) 어마어마한 변경사항들이 있었습니다.
CyanogenMod 12.1을 사용하는 유저로써 말씀드리자면 12.0와는 차이가 느껴질 정도로 빨라지고 메모리 관리 효율이 개선되었습니다(주관적 입장).



앞으로 "이거 메모리 누수인가요?"라는 식의 게시글엔 모든 앱 종료 후 "캐쉬된 프로세스 표시" 스크린샷을 띄우는게 훨씬 정확한 비교가 될겁니다.
시스템/앱 메모리 표기 따로따로 보시면서 "와 이 롬 만든 놈들 개적화했네" 하시지 말고 모든 앱 종료 후 "캐쉬된 프로세스 표시"에서 나오는 "사용 가능 메모리"로 비교하세요.
댓글 19
댓글 쓰기 권한이 없습니다.
분류 추천순 목록 검색 쓰기
List of Articles
제목 글쓴이 추천 조회 날짜
갤럭시 s SD 및 펌웨어 utilty (어플리케이션 소개) 59 file 자양 49 12390 2010.12.31
통신사로고 제거 방법 222 file 호정김 48 5849 2017.12.05
오딘 사용법 (S6 & S6 엣지 & S6 엣지+, 노트 5 이전 기기 및 ... 88 file Penguin97 48 8336 2017.01.31
[15.01.23] SKT 갤럭시노트4 (SM-N910S) 안드로이드 4.4.4 (KitKat) 시... 28 file 젤리빵™ 48 24515 2014.12.22
젤리빈 숨겨진 기능? 88 6811 48 5550 2013.03.11
[노트2] 쉽게 브라우저 종료 메뉴 추가하기 45 file lawbug 48 9867 2012.12.14
[노트2] 쉽게 브라우저 종료 메뉴 추가하기 1 file lawbug 48 9876 2012.12.14
강좌 [강좌]카카오톡 부계정 만들기 - 카카오톡 우회인증/공기계 카카오톡 ... 23 푸우♡ 47 42550 2014.03.12
45도로 과열된 폰 10초만에 20도만들기 76 file SuperUse 47 4022 2013.04.28
강좌 테그라크 사용자를 위한 간단 테마적용법~! 77 택이아빠 47 24445 2011.04.05
[12월 30일추가] I/O Scheduler와 외장마운트 동시적용을 통한 성능향... 289 file 이카루스 47 19025 2010.12.17
강좌 S7 엣지 루팅하기 (컴터 사용) sk, lg, kt 모두 사용 가능 216 file ericKangtheB 46 3140 2017.12.19
갤4 MF3이상 펌에서 카메라 무음설정 가능하도록 코드 수정하기 46 file phyb 46 13417 2013.06.24
루팅 초보분들에게 추천하는 8가지 42 악플반대 46 5446 2013.03.03
노트1 젤라빈 먹은후 자판느리신분을 위해 51 스카이모 46 4747 2013.02.25
배터리 절약법 정리 28 퓨마ㄴㅁ 46 3912 2013.02.12
강좌 갤럭시 타기종에서 갤럭시S6처럼 상단바 만들기. 22 file EPhe 45 16578 2015.05.04
[15.03.25] SKT 갤럭시노트4 (SM-N910S) 안드로이드 5.0.1 (Lollipop) ... 13 file 젤리빵™ 45 37001 2015.03.19
강좌 스마트폰 속도 최적화 강좌 31 file 은수116 45 8577 2014.12.31
강좌 제조사 롤리팝 시스템 디오덱스 방법 18 file JOLT™ 45 12778 2014.12.25
이번 갤럭시S2 젤리빈 3사 모두 잘못된 부분이 있습니다 30 file 르릉 45 4942 2013.02.07
프리빌리지 터미널: 롬 / 커널 추출 방법 9 프리빌리 45 7161 2012.11.11
흔히들 말하는 '롤리팝 메모리 누수'에 대해 19 arter97 44 16203 2015.04.28
강좌 맛클 뉴비강좌 4편 - 커스텀 리커버리가 뭘까? 22 qqjdzm 44 13817 2013.12.27
S플래너 주간날씨 살리기 54 file Who_am_I 44 10369 2013.05.04
퀵패널 투명 및 원하는 배경 만들기 111 file 른돌 44 21654 2013.04.03
(Tip)루팅된 순정롬 부트애니 변경하기!!!! 53 file 노트1 SHV 44 10143 2013.03.29
스마트폰 전원 안끄고 배터리 갈기 48 lecter 44 7386 2013.02.15
멋진 아이콘테마 무한대 대박많음~~ 22 file 까칠장미 44 3103 2013.01.31
[TA13] 부두패치(오버클럭 + 부두 랙픽스 + 부두 사운드)부터 루팅까지! 69 초콜렛왕 44 40885 2011.01.28
1 4 - 135