我正在使用VideoView在我的应用中播放视频,因此我需要为每个视频创建大量活动。我的问题是,无论如何要处理这个问题?因为到目前为止我已经创建了100多个活动。由于活动过多,我不希望我的应用程序变得太大。
答案 0 :(得分:0)
嗯,老实说,大多数开发人员必须在功能和低内存占用之间进行杂耍。尽可能实现最佳实施,同时牢记各种活动状态。阅读它here
这是你能做到的最好的事情。当其他活动应用需要资源时,Android将始终“杀死”在后台运行的活动。
答案 1 :(得分:0)
这是在单个活动中导航下一个/上一个视频的代码。喜欢播放列表。
public class Test11Activity extends Activity {
private int currentVideo=0;
ArrayList<String> httpLinkArrayList = new ArrayList<String>();
VideoView videoView;
Button n_button;
Button p_button;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
httpLinkArrayList.add("http://abb.mp4");
httpLinkArrayList.add("http://abb1.mp4");
httpLinkArrayList.add("http://abb2.mp4");
httpLinkArrayList.add("http://abb3.mp4");
httpLinkArrayList.add("http://abb4.mp4");
LinearLayout mainlayout = new LinearLayout(this);
mainlayout.setOrientation(LinearLayout.VERTICAL); LinearLayout n_p_layout = new LinearLayout(this);
n_button = new Button(this);
n_button.setText("Next");
n_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(currentVideo<httpLinkArrayList.size()){
currentVideo++;
videoView.setVideoURI(Uri.parse(httpLinkArrayList.get(currentVideo)));
videoView.start();
}
}
});
p_button = new Button(this);
p_button.setText("Previous");
p_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(currentVideo>0){
currentVideo--;
videoView.setVideoURI(Uri.parse(httpLinkArrayList.get(currentVideo)));
videoView.start();
}
}
});
n_p_layout.addView(n_button);
n_p_layout.addView(p_button);
videoView = new VideoView(this);
videoView.setVideoURI(Uri.parse(httpLinkArrayList.get(currentVideo)));
videoView.start();
videoView.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer arg0) {
// TODO Auto-generated method stub
if(currentVideo<httpLinkArrayList.size()){
currentVideo++;
videoView.setVideoURI(Uri.parse(httpLinkArrayList.get(currentVideo)));
videoView.start();
}
}
});
mainlayout.addView(n_p_layout);
mainlayout.addView(videoView);
setContentView(mainlayout);
}
}
希望对你有用。:)
答案 2 :(得分:-1)