私は自分のアプリでビデオを再生するためにVideoViewを使用していますので、動画ごとにたくさんのアクティビティを作成する必要があります。私の質問は、これをどうにか処理することですか?これまでに100以上のアクティビティを作成しています。私はあまりにも多くのアクティビティのために私のアプリが大きすぎるようにしたくありません。Androidであまりにも多くのアクティビティを処理するには?
0
A
答えて
-1
+0
彼はビューのフリッパーで彼の100 +活動では困難な時間を過すだろう。 ;-) –
0
はまあ、はっきり言って、ほとんどの開発者は、機能性と低の間でジャグリングの行為を行う必要が役立つかもしれないビューフリッパー
を使用することができます@Leonメモリフットプリント。可能な限り最良の実装は、さまざまなアクティビティ状態を念頭に置いて行われます。それについて読むhere
これはあなたの側からできることは最高です。 Androidは、他のアクティブなアプリにリソースが必要な場合、バックグラウンドで実行中のアクティビティを常に「強制終了」します。
0
ここでは、1つのアクティビティで次/前のビデオをナビゲートするコードを示します。プレイリストのように。
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 =新しい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);
}
}
あなたに役立つ願っています。:)
関連する問題
- 1. popMatrixをあまりにも多く処理しています
- 2. あまりにも多くのアクティビティがあるようです
- 3. TableViewでScrollEventを処理するには、あまりにも多くのCPU時間がかかります
- 4. あまりにも多くのアクティビティを開始する配列要素
- 5. Postgres + JDBCテンプレートあまりにも多くのクライアントがすでに例外を処理しています
- 6. Android Clarifai API com.clarifai.api.exception.ClarifaiThrottledException:あまりにも多くのリクエストがあります
- 7. Androidのメインスレッドあまりにも多くの仕事
- 8. あまりにも多くのロジック/リンクフィールド(少し長い)をどうすれば処理できますか?
- 9. あまりにも多くのテキストが
- 10. あまりにも多くのリダイレクト - htaccess
- 11. あまりにも多くのクエリー
- 12. あまりにも多くのラッパークラス
- 13. とあまりにも多くの
- 14. ERROR:あまりにも多くのデータパーティション
- 15. コンポジットキーを使用するか、あまりにも多くの処理オーバーヘッドが発生しますか?
- 16. Android Mysql - あまりにも多くの結果
- 17. mySQLインデックスは、あまりにも多くの行があまりにも多いですか?
- 18. タスクパラレルで多くのタスクを何度も処理します
- 19. pythonがあまりにも多くのbigtextを処理していると、メモリがオーバーフローします。
- 20. GBMの処理要因変数は、あまりにも多くの要因を心配しました
- 21. DefaultMessageListenerContainerあまりにも多くのメッセージを処理するためのconcurrentConsumersとmaxConcurrentConsumersの最大制限
- 22. rpy2があまりにも多くのRAMを使用する理由
- 23. 並行処理での配列の処理:多くのスレッドのリスクはありますか?
- 24. jQueryがあまりにも多くのhtmlを取り除く
- 25. SQLAlchemyの「あまりにも多くのクライアント、すでに」エラー
- 26. アクティビティに画面よりも多くのデータを入力するには
- 27. Xcode 7.3はあまりにも多くのスペースを取る
- 28. Javaでスレッドをあまりにも多く作成する
- 29. Android - 多くのビューを生成するときにアプリケーションがメインスレッドであまりにも多くの作業をしている可能性があります
- 30. Postgresqlに関する多くのリクエストを処理するには
あなたは、各動画のアクティビティを作成している理由。リンクを通過して1つのビデオビューをアクティビティで使用し、ビデオ「次へ」/「前へ」をナビゲートします。 –
あなたはそのためのチュートリアルはありますか? – Leon
Leon、犯罪はありませんが、この質問に基づいて、商用ソフトウェアを作成する準備が整っていないことは自明です。あなたは、半分の機能を持つ、ひどく実装された、バグに襲われた別のアプリをAndroidマーケットにリリースすることで、誰も好意を持っているわけではありません。 AndroidとJavaで正しく設計する方法を学ぶために必要な時間を取って検討してください。あなたのアプリが2〜3つのアクティビティになるように記述されていることを考えれば、適切に配置すると1つで十分でしょう。 –