Android中的网络连接数 Android网络连接有任何限制吗 如果我们想限制在后台运行的网络连接的数量,我们如何实现它 如果我们在AsyncTask中启动网络连接,并使用AsyncTask\u object.cancel(true)取消它,它会关闭所有相应的内部网络连接吗 如何取消Android中运行的网络连接
我不确定限制是什么,因为它是基于Linux的 三, 我认为您应该使用Android中的网络连接数 Android网络连接有任何限制吗 如果我们想限制在后台运行的网络连接的数量,我们如何实现它 如果我们在AsyncTask中启动网络连接,并使用AsyncTask\u object.cancel(true)取消它,它会关闭所有相应的内部网络连接吗 如何取消Android中运行的网络连接,android,networking,android-asynctask,Android,Networking,Android Asynctask,我不确定限制是什么,因为它是基于Linux的 三, 我认为您应该使用onCancelled(Object)方法进行检查 四, 假设我们这样做: ConnectivityManager connec=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_服务) 这将关闭连接:connec.getNetworkInfo(0).setState(NetworkInfo.State.DISCONNECTED) 也来看看 回答第三个问题: 调
onCancelled(Object)
方法进行检查
四,
假设我们这样做:
ConnectivityManager connec=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_服务)代码>
这将关闭连接:connec.getNetworkInfo(0).setState(NetworkInfo.State.DISCONNECTED)代码>
也来看看
回答第三个问题:
调用AsyncTask_object.cancel(true)不会关闭内部连接,而是调用AsyncTask类的回调方法onCancelled()。因此,您有责任在onCancelled()中编写代码,以取消/回滚在AsyncTask中完成的所有工作。您可以调用isCancelled()来了解任务是否已计算
例如:
if(task.getStatus() != AsyncTask.Status.FINISHED)
task.cancel(true);
在异步任务中:
@Override
protected void onCancelled() {
//cancell/rollback the work being done
}
谢谢你的回答。我在等待更多的答案。我相信将网络状态设置为disconnected可能比OP预期的效果更大——特别是关闭所有网络连接。这里的要点是setState(NetworkInfo.state.disconnected)
和onCancelled()
connec.getNetworkInfo(0)
只是一个示例连接。您的意思是我们应该像下面shk.schneider给出的答案那样关闭连接吗?是的,不仅仅是连接,还有其他事情,如下载文件时删除本地缓存等,通过网络连接,您是指特定的连接,例如,到google.com,或者你是说所有连接,不仅包括你在程序中打开的连接,还包括其他应用程序打开的所有连接?@jedwards仅显示我的程序打开的连接。然后当然不要按照shk.schneider的建议禁用网络接口。是否有什么原因使您无法跟踪您打开、通过和关闭的连接?例如,通常有一个.close()