作者issuemylove (skill)
看板AndroidDev
标题[问题] 网路下载东西时 前景影像不见
时间Tue Sep 18 09:54:20 2012
想请问各位大大
我写了一个程式
主要是 show 了一张图片後
开了一个thread去网路载图
但是当
档案很大的时候
前景影像却消失了! (神奇)
可以请问这是甚麽样的问题吗? QQ
谢谢大大们!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.163.3.187
1F:推 givemepass:没程式码 没Log 我猜是"档案很大"的问题 09/18 13:46
onCreate function:
ImageView imageView = (ImageView)findViewById( R.id.imageView1);
Bitmap bitmap = fileDealer.getImageBitmap(this);
imageView.setImageBitmap(bitmap);
onStart function:
new Thread( new Runnable(){
public void run(){
URL url = new URL(
"档案超过1mb的连结");
URLConnection conn = url.openConnection();
HttpURLConnection httpConn = (HttpURLConnection)conn;
httpConn.connect();
if( httpConn.getResponseCode() == HttpURLConnection.HTTP_OK){
inputStream = httpConn.getInputStream();
}
}
}).start();
我有想过是不是因为thread在跑的时候吃了大部分的资源
所以main thread就没时间输出画面? ~..~
※ 编辑: issuemylove 来自: 118.163.3.187 (09/18 14:16)
2F:推 givemepass:何不用Handler 09/18 14:37
3F:推 odin2008:用asyntask让他到背景执行 09/18 18:12
4F:→ bukiya:thread中没看到把网路图片存到机器上的code,所以会变黑? 09/19 00:11
5F:→ issuemylove:可是thread执行 不也是背景执行吗? QQ 09/19 11:44
6F:→ bukiya:inputStream = httpConn.getInputStream()这行执行完并不代 09/19 13:44
7F:→ bukiya:表图已经下载好,是後续使用inputStream资料时,才会开始从 09/19 13:48
8F:→ bukiya:网路下载图形 09/19 13:49
9F:→ issuemylove:我使用了AsyncTask之後 反而是执行一半直接关掉 09/19 18:58
10F:→ issuemylove:是因为下载太久了吗? QQ 09/19 18:58
11F:→ cooper6334:AsyncTask就是用来跑长时间的,关掉是当掉还是直接消失? 09/19 18:59
我看官网AsyncTask好像也是说它比较适合跑short operation耶QQ
http://developer.android.com/reference/android/os/AsyncTask.html
AsyncTasks should ideally be used for short operations (a few seconds at the
most.) If you need to keep threads running for long periods of time, it is
highly recommended you use the various APIs provided by the
java.util.concurrent pacakge such as Executor, ThreadPoolExecutor and
FutureTask.
※ 编辑: issuemylove 来自: 118.163.3.187 (09/19 19:10)
13F:推 cooper6334:是喔,那我误解了他的用法了 09/19 20:06
14F:推 MosilW:感觉上不是执行太久的问题,是有东西为null,请debug看看 09/19 21:37
15F:→ cooper6334:File没有new到或是找不到档案之类的? 09/19 21:46
16F:→ Eior:也许你可以试试DownloadManager 09/19 22:52
17F:→ bukiya:把全部的code贴出来看看,我猜问题出在没贴出来的地方 09/20 01:27
这是错误发生的code
http://ppt.cc/BqB3 http://ppt.cc/SicJ
错误讯息跟上面的一样
http://ppt.cc/lEC1
我不知道为什麽会有null产生~..~
因为跑小一点的档案就可以 大的话就有null QQ|||
※ 编辑: issuemylove 来自: 118.163.3.187 (09/20 09:52)
※ 编辑: issuemylove 来自: 118.163.3.187 (09/20 09:56)
18F:→ issuemylove:.............大家对不起 09/20 10:32
19F:→ issuemylove:刚刚找出bug是server的连结搞错Q.Q 因为我有两个在用 09/20 10:33
20F:→ issuemylove:粗心的搞错了T.T 09/20 10:33
21F:→ issuemylove:非常谢谢大大们的回应! QQ 09/20 10:34