之前在这个程序反复修改,测试volley都没问题,最后这个缺白屏,什么提示也没有。程序没问题吧,我在idea上运行都正常的。怎么回事呢?

程序是这样子的:
package com.example.volleyimagedemo;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v4.util.LruCache;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.NetworkImageView;
import com.android.volley.toolbox.Volley;
public class MainActivity extends Activity {
private RequestQueue mQueue;
private NetworkImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
getImage("http://e.hiphotos.baidu.com/image/pic/item/b58f8c5494eef01fd6508e15e6fe9925bd317d9e.jpg");
}
private void initView() {
mQueue = Volley.newRequestQueue(getApplicationContext());
image= (NetworkImageView) findViewById(R.id.image);
}
private void getImage(String url) {
ImageLoader loader = new ImageLoader(mQueue, new BitmapCache());
image.setDefaultImageResId(R.mipmap.ic_launcher);
image.setErrorImageResId(R.mipmap.ic_launcher);
image.setImageUrl(url, loader);
}
public class BitmapCache implements ImageLoader.ImageCache{
private LruCache mcCache;
public BitmapCache() {
int maxSize = (int) Runtime.getRuntime().maxMemory();
int mySize = maxSize / 4;
mcCache = new LruCache(mySize) {
@Override
protected int sizeOf(String key, Bitmap value) {
return value.getByteCount();
}
};
}
@Override
public Bitmap getBitmap(String s) {
return mcCache.get(s);
}
@Override
public void putBitmap(String s, Bitmap bitmap) {
mcCache.put(s, bitmap);
}
}
}
xml
网络已开:
我尝试clean project一下,却提示:
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
Unable to delete file: 是因为文件正在使用,用其他的工具查看是什么进程占用了这个文件。
白屏是因为你APP的背景是白色的,你把TextView的Color改成黑色再看看。
最后clean不成功的话,直接清理项目的build文件夹.在app->build,手动删除。