質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

3063閲覧

Androidアプリ 画面遷移 メインメモリに関する疑問

phone0125

総合スコア40

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2014/11/01 04:42

Androidアプリ開発初心者です.

先日インテントによる画面遷移について勉強しました.
インテントは呼び出したIntentメソッド上で遷移先のアクティビティ(サブアクティビティ)を実行しており,画面遷移を繰り返すと,サブアクティビティが自身を閉じないかぎりは入れ子的に次々に呼び出されたアクティビティを実行するものと解釈しました.

ここで例として次のような構造の画面があるとします.

lang

1 ホーム 2 ┣ 画面1 3 ┣ 画面2 4 ┣ 画面3 5 ┗ 画面4

各画面からホーム含めどの画面へも自由に遷移できるようすると,

lang

1 ホーム→画面1→画面3→画面4→画面1→画面2→画面3→ホーム→画面3→画面4→…

のように遷移することが考えられます.
画面の上に画面を表示するため同じ画面が背後に複数存在し,必要以上にメモリを圧迫することになりますよね?

この対策として,一度ホームに戻してから他の画面に遷移させるなどの処理をしたほうがよいのでしょうか?
そもそも解釈が間違っているのでしょうか?
また画面とメモリの件に関し,アプリ開発されている方でなにか工夫されてる点があれば教えていただけるとうれしいです.

以上,よろしくお願いいたします.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

この場合はActivityのスタックを消すのが一番いいと思います

スタックを消す方法は finish()メソッドを画面遷移するまえに使う方法と
IntentのフラグのFLAG_ACTIVITY_CLEAR_TOPを使う2通りあります

例としては
Intent intent = new Intent(getApplicationContext(), NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
などがありますね

また、メモリー関係の容量はその辺は自動でOS側が処理してくれるので初期の段階ではあまり考える必要はないと思います

投稿2014/11/02 04:42

ayumu

総合スコア86

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

phone0125

2014/11/03 06:53

回答ありがとうございます また返信が遅くなりすみません 2通り試してみました OS上の戻るボタンの動作も踏まえて, 状況に応じて選択しようと思います ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問