TODAY : / TOTAL :

[Android] java.lang.IllegalArgumentException: Requested window android.os.BinderProxy ... does not exist

  • Share this:
반응형

:: Eclipse LogCat ::
 : W/WindowManager(643): Failed looking up window
: W/WindowManager(643): java.lang.IllegalArgumentException: Requested window android.os.
 
BinderProxy@4205eb18 does not exist : W/WindowManager(643): at com.android.server.wm.WindowManagerService.windowForClientLocked
 
(WindowManagerService.java:7622) : W/WindowManager(643): at com.android.server.wm.WindowManagerService.windowForClientLocked
 
(WindowManagerService.java:7613) : W/WindowManager(643): at com.android.server.wm.WindowState$DeathRecipient.binderDied
 
(WindowState.java:1591) : W/WindowManager(643): at android.os.BinderProxy.sendDeathNotice(Binder.java:417) : W/WindowManager(643): at dalvik.system.NativeStart.run(Native Method) 
11-14 15:09:54.841: I/WindowManager(643): WIN DEATH: null
  

디바이스 관련 테스트 도중, 겔럭시 탭에서 다음과 같은 로그가 발생했다.
최소 사양으로 잡고있던 S2 그리고 S3 , S4에서도 구동이 잘됐는데...
뭐가 문제였나 했더니, 초기화 하는 과정에서 디바이스 메모리 체크하는 함수가 문제였다.

Log.d("MEMORY_INFO", "Memory Status : "
+ (int) ((memInfo.totalMem - memInfo.availMem) / 1048576)
+ "MB / " + (int) (memInfo.totalMem / 1048576) + "MB");

MemoryInfo - [ totalMem ] 이 API Level 16(Jelly Bean) 에서 지원해주는 함수인데, 혼자만 구동 안되던 겔럭시 탭의 안드로이드 버전이 API Level 14  ICS(Ice Cream Sandwich) 였다.

자신이 테스트하는 디바이스(에뮬레이터) 버전이 API Level에 충족하는지 체크 해 볼 것!


그렇지 않다면 예외처리를 해줘야 함.

안드로이드 버전 체크 기능을 추가 및 예외처리 부분을 추가해서 넣으니, 잘 구동 됨. 


:: 참고 사이트 ::
- StackOverFlow 문의에 올라온 글 중 하나
 
반응형

SEARCH

태그로 찾아보기