2016-11-21 47 views
0

我自己寫的一個小的輔助類:的Android - LeakCanary觸發 - 靜態輔助方法

public enum NetworkUtils { 
    ; 

    public static boolean hasNetworkConnection(Context context) { 
     ConnectivityManager manager = getConnectivityManager(context); 
     return manager != null 
       && manager.getActiveNetworkInfo() != null 
       && manager.getActiveNetworkInfo().isConnectedOrConnecting(); 
    } 

    private static ConnectivityManager getConnectivityManager(Context context) { 
     return (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    } 
} 

LeakCanary不斷告訴我,我有一個活動泄漏由於對ConnectivityManager參考,當我使用它。

如何處理這種情況?這是否爲假?

回答

0

找到自己的問題:Leak Canary Github issue
可以通過使用應用程序上下文可以防止錯誤:

(ConnectivityManager) context.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);