我正在使用AsyncTask,并想知道将参数传递给构造函数的含义是什么,而不是直接将它们传递给doInBackground(…)方法的execute()调用,例如:
呼叫:
new SomeTask(bitmap,integer,"somestring").execute();
类:
public class SomeTask extends AsyncTask<Void,Void,String> { private String string; private Bitmap image; private int integer; public SomeTask (Bitmap bmp,int someint,String s){ this.image = bmp; this.string = s; this.integer = someint; } protected String doInBackground(Void... params) { // whatever return "string"; } @Override protected void onPostExecute(String result){ // whatever }
}
设计,优雅,重用和性能有哪些优点/缺点?
谢谢.
解决方法
What are the advantages/disadvantages regarding design,ellegance,reuse and performance??
如果您有任意数量的相同类型(例如,您希望任务下载的字符串的几个URL),请使用参数来执行().
如果您有几个不同类型的参数,请使用构造函数参数,因此您可以利用Java的编译时类型安全性.
如果你只有一个对象传入(或者没有),这两种方法几乎相当.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。