마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

uses-sdk android:minSdkVersion 변경 후 앱이 죽어버려요 ㅠㅠ [closed]

0 추천

원래 uses-sdk android:minSdkVersion="8 로 진행하고 있었거든요.

근데 낮은 버전 기기에서 앱이 버벅거리는걸 확인해서 uses-sdk android:minSdkVersion="10" 으로 변경후 빌드해봤는데

앱이 죽어버리네요.

어느 부분을 확인해봐야 할까요? ㅠㅠ

질문을 종료한 이유: onCreate 함수 부분에
수이 (540 포인트) 님이 2014년 6월 29일 질문
수이님이 2014년 6월 29일 closed
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);

를 넣어주면 해결됩니다. (자답)
좋지 않은 방법입니다. -_-;;;
아마 UI Thread에서 통신을 하는 모양인데, 권장 사항이 아니므로 당연히 버전이 올라가면서 막혀버린겁니다.
AsyncTask나 직접 Thread를 구현해서 사용하시는 편이 좋습니다.
국내에서 출판된 4.0 개발 책도 이 언급을 안하던데...
다른 방법을 써야 하나요?
안드로이드 개발이 처음이라 구글링해서 찾아서 넣었거든요.
AsyncTask 나  Thread 를 구현해서 사용하는 방법이라는게 어떤 걸 말하는 건가요? 자바에 익숙하지 않아서 좀더 팁을 주시면 감사할 것 같아요 ㅠㅠ
예를 들어 Http 통신과 같은 기능을 UI Thread.. 그러니까 onCreate와 같은 UI Thread에서 동작하게 하면, 통신을 하는 도중. Request < - > Response 과정을 처리하는 동안 UI는 멈춰있게 됩니다. 그 과정이 길어지면 길어질수록 앱은 멈춘 상태라며 강제 종료를 내뿜는 상황이 벌어질 수도 있습니다.
그래서 새로운 스레드를 생성하여, 오래 작업될 기능 ( 위의 Http 통신 ) 을 구현하는 겁니다.

오래된 예지만 참고하시라고 링크 걸어드립니다.
http://www.lucazanini.eu/2012/android/the-android-os-networkonmainthreadexception-exception/?lang=en
...