본문 바로가기

make/Android

Beta 전문업체 구글, froyo restartPackage deprecated.

아시다 시피,
SKT에서 나왔으면 더 좋았을 넥서스원과 조망간 나올 S-PAD 혹은
Galaxy TAB 이라고 하는 삼성의 안드로이드 패드는 프로요가
탑재되어 있습니다.

안드로이드 2.1로 개발하다 2.2에서 이상동작을 보이는(그래서 검증에 fail 떨어진...ㅡ.ㅡ)  몇가지 사태에 짜증내 하며 베타전문 구글에서 내 놓은 프로요에 뭐가 변화되었나 좀 뒤져봤습니다.

가장 큰 변화는 ActiviyManager 의 restartPackage 가 deprecate 된 것입니다. 네. 없앴죠. 2.1로 컴파일 하고 2.2에서 안 먹습니다.

http://developer.android.com/sdk/api_diff/8/changes.html

 

Changed Methods
void restartPackage(String) Now deprecated.
대신 void killBackgroundProcesses(String) 이라는 메쏘드를 하나 던져 줍니다.




네. 하지만 이 메쏘드는 restartPackage 처러 프로세스를 한번에 깨끗하게 처리해주지 않습니다.

restartPackage 라는 것도 어쩌면 자바? 혹은 안드로이드 정책에 어긋나는 메쏘드 였죠. 

프로세스 달빅에서 알아서 처리해 줍니다. 신경쓰지 마세요.


하지만, 100%란 없죠. 알아서 처리해주지만 깔끔하게 처리는 안해주죠.
System.gc()를 먹여도 지 멋대로 생각나면 처리해주죠.

개인적으로 프로그램을 죽일때 멋지게 한방에 죽일 수 있는 메쏘드였지만 구글은 그 꼴은 못보나 봅니다.

그래서 결국 메인화면에서 한방에 홈으로 빠져나가기 위해서는 startActivityForResult 로 적절하게 액티비티들을 처리해 주어야 합니다.

intent로 호출하면서 이전 페이지를 finish() 해주는 방식으로 처리하면
다시 처음으로 돌아왔을 때 메인에서 바로 홈으로 빠지게 되죠.

특히 SKT향 안드로이드 어플 제작자들은 무슨 얘긴줄 아실껍니다. 아니라도 그렇게 해주는게 사실 깔끔하죠.

뭐 어쨌뜬, 2.1 에서 2.2 마이너 업그레이드인데도 불구하고 자주 쓰던 메쏘드들이 계속적으로 변하고 있습니다. 물론 나쁜일은 아니고요.
점점 발전하고 안정화 되어가는 것으로 보고 있습니다.

2.5가 될지 3.0이 될지 모를 진저브레드에서의 변화가 궁금합니다만,
좀더 나은 방향으로 가고 있다는 것은 확실합니다.

여기서 추가되고 변화된 메쏘드및 클래스들을 확인하실 수 있습니다.
( http://developer.android.com/sdk/api_diff/8/changes.html )

또 하나 가장 자주 쓰는 속성중에 하나인 FILL_PARENT가 2.2부터는 MATCH_PARENT로 변경됩니다. 의미상 이름이 변화된것으로 보입니다.

deprecate 되었다고 해서 동작을 안 하는 것은 아닙니다만,
분명히 2.1과 2.2가 다르게 보이는 혹은 동작하지 않는 부분들이 존재합니다.
2.2를 지원해야 하는 어플들은 아마 신경을 쓰셔야 할 것입니다.


이미 프로요가 나온지 몇달이 지났지만,  출시폰들이 2.1이 아직까지는 많고 2.2가 탑재될쯤에 진저브레드가 나올것 같은 한발늦은 제조사들의 발걸음을 재촉하면서 뒷북 쳐봅니다.



'make > Android' 카테고리의 다른 글

삼성 갤럭시S 시리즈 해상도.  (0) 2012.03.20
이젠 Android App들을 SD로 인스톨하게 해주세요.  (0) 2010.10.19
디자이어 테더링  (0) 2010.09.21
Android HOME key 제어  (0) 2010.08.03