안녕하세요.
현재 애드립을 이용하여 얼마전 어플을 런칭해서 2주정도 사용을 하고 있는 유저입니다.
앱을 실행중에 홈버튼을 눌렀을 경우에, CPU가 많이 소모되는 것 같아서 확인해 보던 중 애드립의 스레드가 의심이 되더군요.
제가 잘못사용한 것인지, 버그인지 확인 부탁드립니다.
* 광고가 나오는 Activity에서는 AdlibActivity를 상속받아 구현하였습니다.
* 구현
1. MainActivity - 키 셋팅, 광고플랫폼 바인딩, 컨테이너 셋팅
2. 두번째 액티비티 - 컨테이너 셋팅
3. 세번째 액티비티 - 컨테이너 셋팅
* 웹설정
- 네이버 10초, 다음 10초.
위와 같은 형식으로 되어있습니다.
* 시나리오
1. 앱실행 -> MainActivity
2. 버튼클릭 -> 두번째 액티비티 실행 -> 버튼클릭 -> 세번째 액티비티 실행
3. 백버튼 -> 두번째 액티비티 -> 백버튼 -> MainActivity
4. 버튼클릭 -> 두번째 액티비티 -> 백버튼 -> MainActivity
위 시나리오 중, 4번항목을 지속적으로 진행하자 아래 캡쳐화면처럼 AdamAdviewUpdater가 계속 늘어납니다.
백버튼을 누르면 기존 액티비티는 onDestroy가 호출이 되는데, Logcat에서의 애드립클라이언트는 pause만 호출이 되서 해당 스레드가 안죽는 것이 아닌가 의심이 됩니다.
AdlibActivity를 상속받았기 때문에, onCreate에서
this.setAdsContainer(R.id.ads);
를 호출 한 것 말고는 없습니다.
확인 부탁드립니다.
안녕하세요.
빠른 답변&해결 감사드립니다.
수정해주신대로 적용했더니, AdamAdviewUpdater가 최대 2개까지만 생성되고 더이상 늘어나지는 않습니다.
추가적인 질문 사항 있는데요 ^^;
수정해주신걸 적용했는데도, 백그라운드일때 CPU사용량이 줄지가 않고 있어 다시금 스레드 확인을 해보니..
WebViewCoreThread 의 utime stime이 지속적으로 늘어나고 있었습니다.
아무래도 WebViewCoreThread 문제가 아닌가 싶은데요..
질문 : 홈 버튼을 눌렀을 때, WebViewCoreThread 가 동작하지 않게 해줄 수 있나요?
아니면, 혹시 제가 알지 못하는 다른문제 일까요? ^^ (공부한지 얼마 안되서;;)
백그라운드일때 지속적으로 CPU를 사용해서 신경이 계속 쓰이더라고요..
확인 바랍니다. ^^
답변이 늦어 죄송합니다.
공유주신 내용을 기초로 해서 현재 애드립에서 지원중인 모든 플랫폼들에 대하여 테스트를 완료하였습니다.
WebViewCoreThread 문제는 각 플랫폼마다 내부적인 배너에서 Javascript 를 계속적으로 호출하는 현상이 지속되는 경우 나타나는것으로 보이며, 최신버전 기준으로 adam 플랫폼에서 종종 위와같은 현상이 나타나고 있는 것 같습니다.
애드립에선 위와같은 문제를 최소화하고자 WebView 를 status 마다 컨트롤 하도록 방어 코드를 삽입하였으며 실제 앱에 적용은
https://github.com/mocoplex/adlibr-SDK-android/raw/master/adlibrTestProject/libs/adlibr.3.1.2.a.jar
위의 주소의 라이브러리를 다운로드 받아 확인하실 수 있습니다.
자세히 증상을 공유해주셔서 내부적으로 너무 많은 도움이 되었습니다.
앞으로도 사용상 문제나 불편한점있으시면 언제든 연락 부탁드립니다.
감사합니다!
안녕하세요,
관련 문제는 애드립 내부적으로 동적인 ad View 의 생성 및 해제와 관련하여 충돌을 회피하기 위해 작성되었던 부분에 문제가 있었던 것으로 확인하였고, 수정 및 업데이트 하였습니다.
관련된 문제가 해결된 버전은
http://mocoplex.github.com/adlibr-SDK-android/
주소를 통해 다운로드 받을 수 있습니다.
애드립의 jar 을 포함한, 사용중인 SubView 를 모두 업데이트 하여 적용하시기를 권장드립니다.
상세한 리포트를 제공해주셔서 문제 해결에 정말 많은 도움이 되었습니다.
이용에 불편을 드려 정말 죄송합니다.
그럼 확인 부탁드리겠습니다.
감사합니다.