3

こんにちは、アプリケーションの実行中にあまりにも多くのアクティビティのように開始することは可能ですか?私は、毎日が新しい活動である毎日をスライドできるスケジュールアプリケーションを開発しています。今、あなたが始めるべき活動の数にどういうわけか制限があるのだろうかと思います。少しスライドするときのように、すぐにアクティブな約20のアクティビティになります。

他のアプリケーションがメモリを必要とするときにアクティビティが強制終了されることはわかっていますが、約20のアクティビティでホームボタンを押してアプリケーションをテストして閉じると、「実行中」のhtcセンスが、空きメモリが不足しているために閉じられたように再起動しているようです。いくつかのアクティビティを実行しているだけでは、これは発生しません。(htcdesire)

これは、あまりにも多くの活動を開始したことが原因である可能性がありますか?もしそうなら、あなたが最大に始めるべき活動の量の「制限」はありますか?

編集:私はどこかでアンドロイドアプリのツイッターがグーグルによって開発されていることを読みました。しかし、そのアプリケーションでは、無制限の数のアクティビティを実行することもできます。

4

4 に答える 4

4

アクティビティ数にそのような制限はありませんが、あまりにも多くのアクティビティを作成することは本当に悪い設計です。これは主に、各アクティビティにVMで指定された最小メモリが割り当てられ、IPC呼び出しがある場合、バインダーバッファを消費するためです。

アプリを再設計して、アクティビティの数を減らすことができます。あなたの場合、1つのアクティビティを使用して毎日のスケジュールを表示することができます。再利用が難しい場合は、メモリ使用量を減らすために、前のアクティビティをできるだけ早く閉じることができます。

于 2011-07-16T13:13:05.030 に答える
3

技術的に厳しい制限はありませんが、一部のデバイスでは、より多くのアクティビティで問題が発生します。私がテストしたデバイスのいくつかは、約8つのアクティビティで問題が発生し始めました。

于 2011-07-16T13:00:55.947 に答える
2

私の知識にそのような制限はありません。通常、アプリケーションには5つのオープンアクティビティがあります。

それらをより少ない数に保つことは良いプログラミング慣行です

于 2011-07-16T12:56:58.077 に答える
0

アプリケーションには必要な数のアクティビティを作成でき、デバイスはどれだけ実行し続けることができますか。これに制限はありませんが、デバイスで実行できない場合があります。通常、アクティビティの数を減らしてアプリケーションを作成できますが、これがより良いソリューションです。

于 2011-07-16T19:16:25.213 に答える