私は、このすべてのアプリケーション/アクティビティ コンテキストに本当に混乱しています。自分のクラス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); // ??
}
}
それを達成する方法は?メモリリークを回避するのに役立つ賢明なパターンはありますか?