@Curt Hagenlocher - это наоборот. Я понятия не имею, почему так многие проголосовали за него, когда это неправильно.
IDisposable
для , справился ресурсы.
Финализаторы для неуправляемы ресурсы.
, пока Вы только используете управляемые ресурсы и @Jon Limjap и я, совершенно корректны.
Для классов, которые используют неуправляемые ресурсы (и принимают во внимание, что подавляющее большинство.Net классов не делает) ответ Patrik является всесторонней и лучшей практикой.
Избегают использования GC.Collect - это - медленный способ иметь дело с управляемыми ресурсами, и ничего не делает с неуправляемыми, если Вы правильно не создали свой ~Finalizers.
я удалил комментарий модератора из исходного вопроса в соответствии с https://stackoverflow.com/questions/14593/etiquette-for-modifying-posts
New java class:
public class ConnectionChangeReceiver extends BroadcastReceiver
{
@Override
public void onReceive( Context context, Intent intent )
{
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService( Context.CONNECTIVITY_SERVICE );
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo( ConnectivityManager.TYPE_MOBILE );
if ( activeNetInfo != null )
{
Toast.makeText( context, "Active Network Type : " + activeNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
}
if( mobNetInfo != null )
{
Toast.makeText( context, "Mobile Network Type : " + mobNetInfo.getTypeName(), Toast.LENGTH_SHORT ).show();
}
}
}
New xml in your AndroidManifest.xml under the "manifest" element:
<!-- Needed to check when the network connection changes -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
New xml in your AndroidManifest.xml under the "application" element:
<receiver android:name="com.blackboard.androidtest.receiver.ConnectionChangeReceiver"
android:label="NetworkConnection">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>