0

Я действительно путаюсь со всеми этими материалами контекста приложения/деятельности. Я хочу вызвать некоторые из методов активности из классов, таких как мои собственные WebChromeClient или ConnectionChangeReceiver (обнаружение изменений сетевого подключения).Вызов методов активности извне классов

Пример кода:

public class MyWebChromeClient extends WebChromeClient { 

    MyWebView webview; 
    MyApp app; 

// own constructor to store info about webview which is used in the current  
//webchrome client 
    public MyWebChromeClient(Context context, MyWebView wv) 
    { 
     this.webview = wv; // store information about current webview (leaks?) 
     this.app = context.getApplicationContext(); // store app context 
    } 

    public void onConsoleMessage(String message, int lineNumber, String sourceID) { 
      app.getActivityWhichIsUsingThisWebView().logFromWebView(webview, message); // ?? 
     } 

} 

Как добиться этого? Есть ли какой-нибудь разумный образец, который мог бы помочь мне избежать утечек памяти?

ответ

1

Я не совсем уверен.

Activity activity; 

public MyWebChromeClient(Context context, MyWebView wv,Activity activity) 
{ 
    this.webview = wv; // store information about current webview (leaks?) 
    this.app = context.getApplicationContext(); // store app context 
    this.activity = activity; 
} 
+0

Не вызывает ли утечка памяти? (http://developer.android.com/resources/articles/avoiding-memory-leaks.html) «Попробуйте использовать контекстное приложение вместо контекстной активности» – Piotr

Смежные вопросы