我有一个关于异步任务的基本问题。我是Android编程的初学者,很抱歉这个问题。
我要在 doinbackground 中打开一个套接字。
doInBackground(... ) {
Socket socket = null;
DataOutputStream dataOutputStream = null;
DataInputStream dataInputStream = null;
try {
socket = new Socket(192.168.0.1, 2000);
dataOutputStream = new DataOutputStream(socket.getOutputStream());
dataInputStream = new DataInputStream(socket.getInputStream());
}}
当 AsyncTask 完成时,socket 会发生什么?(一旦 doInBackground 和 OnPostExecute 过去了。)
插座还能用吗?还是会被垃圾收集器移除?
下一个问题,但实际上是相同的背景。
在 AsyncTask 完成后,我在 doInBackground 中实例化的类的实例会发生什么?(一旦 doInBackground 和 OnPostExecute 过去了。)
doInBackground(... ) {
IPConnection ipcon = new IPConnection();
}
-------------------------------------------------- ------------------
编辑:
如何创建从 Asynctask 中的对象到 MainActivity 的引用?
编辑2:
这是对主线程的引用吗?该代码示例中的垃圾收集器不会删除对象吗?
public class ClientActivity extends Activity {
private IPConnection ipcon;
private Socket Testsocket;
public class IPConnection extends AsyncTask<String, String, IPConnection> {
@Override
protected IPConnection doInBackground(String... message) {
ipcon = new IPConnection();
ipcon.run();
return null;
}
}
}
先感谢您。