public class Video implements Parcelable {
private int _id;
private String data;
private Double size;//文件大小
private String display_name;
private Double duration;//播放时长
private String resolution;//分辨率
private int like;//1表示true 0表示false
private int collect;
......
上面是我的视频类。我在Splash中用AsyncTask的doInBackground,先从数据库中读取到ArrayList<Video>类型的videos中
@Override
protected Integer doInBackground(Void... params) {
long startTime = System.currentTimeMillis();
videos = new ArrayList<>();
videos = getVideoDAO().selectAllFileFromSDCard();
long loadingTime = System.currentTimeMillis()-startTime;
if(loadingTime< SHORTEST_TIME){
try {
Thread.sleep(SHORTEST_TIME -loadingTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return videos.size();
可是等我想把这个videos传给主界面时
@Override
protected void onPostExecute(Integer integer) {
Intent intent = new Intent();
intent.setAction("com.lordwinter.main");
intent.putParcelableArrayListExtra("videos", videos);
Log.v("VideoPlayer", "添加videos到intent的Extras");
startActivity(intent);
Log.v("VideoPlayer", "启动MainActivity");
overridePendingTransition(R.anim.fade_in,R.anim.fade_out);
}
这里就报了错,界面卡在了启动界面上
03-01 17:30:52.985 2312-2312/lordwinter.com.videoplayer V/VideoPlayer: 添加videos到intent的Extras
03-01 17:30:52.986 2312-2312/lordwinter.com.videoplayer I/Timeline: Timeline: Activity_launch_request time:21591936
03-01 17:30:52.998 2312-2312/lordwinter.com.videoplayer E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!
03-01 17:30:53.000 2312-2312/lordwinter.com.videoplayer V/VideoPlayer: 启动MainActivity
这个错之前也报了,百度了一下很多都说是Bitmap太大的问题,我的Video类里之前还真有个Bitmap类的参数用来保存缩率图的,我就把获取缩略图的动作挪到了ListView的Adapter中完成。可是还是报了这个错。
请问是我传递这个ArrayList<Video>类型的参数本身就太大了么?还是说我这个思路本身就不对呢?
private int _id;
private String data;
private Double size;//文件大小
private String display_name;
private Double duration;//播放时长
private String resolution;//分辨率
private int like;//1表示true 0表示false
private int collect;
......
上面是我的视频类。我在Splash中用AsyncTask的doInBackground,先从数据库中读取到ArrayList<Video>类型的videos中
@Override
protected Integer doInBackground(Void... params) {
long startTime = System.currentTimeMillis();
videos = new ArrayList<>();
videos = getVideoDAO().selectAllFileFromSDCard();
long loadingTime = System.currentTimeMillis()-startTime;
if(loadingTime< SHORTEST_TIME){
try {
Thread.sleep(SHORTEST_TIME -loadingTime);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return videos.size();
可是等我想把这个videos传给主界面时
@Override
protected void onPostExecute(Integer integer) {
Intent intent = new Intent();
intent.setAction("com.lordwinter.main");
intent.putParcelableArrayListExtra("videos", videos);
Log.v("VideoPlayer", "添加videos到intent的Extras");
startActivity(intent);
Log.v("VideoPlayer", "启动MainActivity");
overridePendingTransition(R.anim.fade_in,R.anim.fade_out);
}
这里就报了错,界面卡在了启动界面上
03-01 17:30:52.985 2312-2312/lordwinter.com.videoplayer V/VideoPlayer: 添加videos到intent的Extras
03-01 17:30:52.986 2312-2312/lordwinter.com.videoplayer I/Timeline: Timeline: Activity_launch_request time:21591936
03-01 17:30:52.998 2312-2312/lordwinter.com.videoplayer E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!
03-01 17:30:53.000 2312-2312/lordwinter.com.videoplayer V/VideoPlayer: 启动MainActivity
这个错之前也报了,百度了一下很多都说是Bitmap太大的问题,我的Video类里之前还真有个Bitmap类的参数用来保存缩率图的,我就把获取缩略图的动作挪到了ListView的Adapter中完成。可是还是报了这个错。
请问是我传递这个ArrayList<Video>类型的参数本身就太大了么?还是说我这个思路本身就不对呢?