기기 방향을 변경할 때 이 오류가 발생합니다:
`Error: WebView.destroy()가 아직 연결된 상태에서 호출되었습니다.
이 코드를 사용하세요:
protected void onDestroy()
{
if (adView != null)
{
adView.destroy();
}
}
이 오류의 원인은 무엇인가요? 이 오류를 피하려면 어떻게 해야 하나요?
내 테스트에 따르면, 이 문제는 안드로이드 SDK 에 대한, 그리고 최소 v4.2.2+. v6.4.1 너회 애드몹 # 안드로이드 애플리케이션을 테스트할 때 애드몹 (직접판매용 링크는 http://google-mobile-dev.googlecode.com/files/Android_XML.zip http://support. https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals 샘플링합니다 하는 문제가 발생할 때 닫기와 샘플링합니다) 를 출시했다.
오히려 내 해결 방법을.
@Override
public void onDestroy()
{
// Destroy the AdView.
if (adView != null)
{
final ViewGroup viewGroup = (ViewGroup) adView.getParent();
if (viewGroup != null)
{
viewGroup.removeView(adView);
}
adView.destroy();
}
super.onDestroy();
}
다른 사람을 귀찮게 하는 데 도움이 되는 것으로, 그 희망을 애드몹 곧 수리입니다 배정됩니다.
이 오류가 발생하지 않으려면 부모 레이아웃(예: RelativeLayout)이 있어야 하며 layoutWebView.xml에 정의되어 있을 수 있는 WebView 구성 요소를 제거해야 합니다.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webviewRelativeLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/headerAlarmsWebViewTxt"
android:layout_marginBottom="0dip"
android:hapticFeedbackEnabled="true"
android:overScrollMode="never"
android:scrollbarAlwaysDrawVerticalTrack="false"
android:scrollbars="none" />
</RelativeLayout>
그런 다음 인스턴스 변수에 할당합니다(예::
_layout = (RelativeLayout) findViewById(R.id.webviewRelativeLayout);
webView = (WebView) findViewById(R.id.webView1);
에 할당하고 파괴에서 다음과 같은 작업을 수행합니다:
@Override
protected void onDestroy() {
super.onDestroy();
_layout.removeView(webView);
webView.setFocusable(true);
webView.removeAllViews();
webView.clearHistory();
webView.destroy();
}