(57)【要約】      （修正有）【課題】モバイル端末のタッチパネルに表示しているコンテンツ画面が切り替わっても，コンテンツ画面の保持に用いるメインメモリのメモリ容量が必要以上に増加しないようにする。【解決手段】モバイル端末のアプリケーション２は，コンテンツ画面を生成するコンテンツ表示プログラム２１と，レイヤに基づいて，コンテンツ表示プログラム２１の起動を管理する起動管理プログラム２０と，アプリケーション２の振る舞いを定義した設定ファイル２３を備える。設定ファイル２３により，第２レイヤに属するように設定されたコンテンツ表示プログラム２１は，他のコンテンツ表示プログラム２１を呼び出す際，オペレーティングシステム１０が管理するスタック１０ａから自分自身のコンテンツ画面を破棄するように動作する。【選択図】図３
2019023766.tif 000002
【特許請求の範囲】
【請求項１】
メインメモリと，タッチパネルと，タッチパネルに出力された画面を後入れ先出しの形式で管理するスタックを有し，前記スタックの先頭にある画面が前記タッチパネルに表示されるように画面表示を制御するオペレーティングシステムとを備え，前記オペレーティングシステム上で動作するプログラムとして，複数の画面から構成されるコンテンツ画面を前記タッチパネルに表示するアプリケーションが実装されたモバイル端末であって，
前記モバイル端末は，前記アプリケーションが起動されることで，前記コンテンツ画面をメインメモリに生成するコンテンツ表示手段と，前記コンテンツ表示手段が属するレイヤに基づいて前記コンテンツ表示手段の起動を管理する起動管理手段と，が機能するものであって，
前記コンテンツ表示手段は，前記コンテンツ画面を切り替える操作がなされると，前記コンテンツ表示手段が属する前記レイヤを少なくとも定義した設定ファイルによって自分自身が属する前記レイヤを判断し，自分自身の前記レイヤが，前記コンテンツ画面を前記スタックから破棄しないレイヤである第１レイヤの場合は，自分自身が生成した前記コンテンツ画面を前記スタックから破棄することなく，切り替え先の前記コンテンツ画面に対応する前記コンテンツ表示手段の呼び出しを前記起動管理手段に要求し，自分自身の前記レイヤが，前記コンテンツ画面を前記スタックから破棄するレイヤである第２レイヤの場合は，自分自身が生成した前記コンテンツ画面を前記スタックから破棄する処理を実行するとともに，切り替え先の画面を生成する前記コンテンツ表示手段の呼び出しを前記起動管理手段に要求し，
前記起動管理手段は，前記設定ファイルを参照して，前記第１レイヤに属している前記コンテンツ表示手段を起動させた後，前記スタックの先頭になっている前記コンテンツ画面を生成した前記コンテンツ表示手段から他の前記コンテンツ表示手段の呼び出し要求を受けると，前記設定ファイルを参照して，呼び出し先になる前記コンテンツ表示手段が属する前記レイヤが前記第２レイヤの場合のみ，呼び出し先となる前記コンテンツ表示手段を起動させる処理を行う，
ことを特徴とするモバイル端末。
【請求項２】
前記設定ファイルに，第３レイヤに属する前記コンテンツ表示手段とその起動条件，および，前記第３レイヤから戻る時の前記レイヤを定義し，
前記起動管理手段は，前記起動条件が成立とすると，前記第３レイヤに属する前記コンテンツ表示手段を起動させる処理を行い，
前記コンテンツ表示手段は，前記設定ファイルによって自分自身が属する前記レイヤが前記第３レイヤの場合，自分自身が生成した前記コンテンツ画面を前記スタックから破棄する処理を実行するとともに，前記設定ファイルを参照して，前記第３レイヤから戻る時の前記レイヤを取得し，前記第３レイヤから戻る時のレイヤが前記第１レイヤで，かつ，前記第２レイヤの前記コンテンツ画面が前記スタックにある場合は，前記第２レイヤの前記コンテンツ画面を前記スタックから破棄する処理を実行する，
ことを特徴とする，請求項１に記載したモバイル端末。
【請求項３】
前記起動管理手段は，前記第２レイヤに割り当てられた前記コンテンツ表示手段の起動履歴を保持し，一つ前の前記コンテンツ画面に戻る要求を受けたときは，前記起動履歴を参照して，前記スタックの先頭になる前記コンテンツ画面が対応する前記レイヤを判断し，この前記レイヤが前記第２レイヤの場合は，前記スタックの先頭になる前記コンテンツ画面を前記スタックから破棄する処理を行った後，前記起動履歴を参照して，一つ前の前記コンテンツ画面が対応する前記レイヤを判断し，一つ前の前記コンテンツ画面が対応する前記レイヤが前記第２レイヤの場合は，前記起動履歴を利用して，一つ前の前記コンテンツ画面に対応する前記コンテンツ表示手段を起動する処理を行う，
ことを特徴とする，請求項１または請求項２に記載したモバイル端末。
【請求項４】
前記設定ファイルによって，メニュー画面を前記コンテンツ画面として表示する前記コンテンツ表示手段が属する前記レイヤを前記第１レイヤとし，前記メニュー画面から呼び出すことのできる前記コンテンツ画面に対応する前記コンテンツ表示手段の前記レイヤ，および，この前記コンテンツ表示手段から呼び出すことのできる前記コンテンツ画面に対応する前記コンテンツ表示手段が属する前記レイヤを前記第２レイヤとし，スクリーンセーバを表示する前記コンテンツ表示手段の前記レイヤを前記第３レイヤとし，更に，前記第３レイヤに属する前記コンテンツ表示手段の起動条件を無操作時間が一定時間続いた時としたことを特徴とする，請求項２に記載したモバイル端末。
【請求項５】
請求項１から請求項３のいずれか一項に記載の前記コンテンツ表示手段および前記起動管理手段として，モバイル端末のプロセッサを機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，タブレット（タブレットコンピュータ）などタッチパネルを備えたモバイル端末上で起動するアプリケーションのメモリ消費量を抑える技術に関する。
【背景技術】
【０００２】
複数の画面で構成される様々なコンテンツをネットワーク上のサーバを格納し，タブレット（タブレットコンピュータ）などタッチパネルを備えたモバイル端末上で，該サーバに格納されたコンテンツ利用するクラウドサービスが普及している。
【０００３】
クラウドサービスに用いるモバイル端末には，最後にタッチパネルに出力した画面が先頭になるように，タッチパネルに出力した画面をスタック形式で配置し，スタックの先頭になる画面をタッチパネルに表示するオペレーティングシステムが実装され，更に，このオペレーティングシステム上で動作するアプリケーションとして，サーバまたはモバイル端末に格納されているコンテンツを表示するアプリケーションが実装される。クラウドサービスのサーバには様々な分野のコンテンツを格納し，更に，このコンテンツは更新されることが多いため，モバイル端末に実装するアプリケーションのカスタマイズが容易に行えるように，モバイル端末に実装するアプリケーションに，汎用的に利用可能な複数のコンテンツ表示プログラムを組み込み、アプリケーションで表示するコンテンツなど，アプリケーションの実質的な振る舞いは，ＸＭＬ形式の設定ファイルで定義できるように構成されることが多い（例えば，特許文献１）。
【０００４】
このように，アプリケーションで表示するコンテンツなど，アプリケーションの実質的な振る舞いを設定ファイルで定義できるようにすると，アプリケーションが消費するメインメモリの消費量は設定ファイルの内容によって変わるため，アプリケーションの実質的な振る舞いを定義する設定ファイルの内容に係わらず，アプリケーションが消費するメインメモリのメモリ容量が必要以上に増えないようにする仕組みが必要になる。
【０００５】
アプリケーション起動時におけるコンピュータのメモリ容量を管理する発明として，特許文献２において，コンピュータに搭載されたアプリケーションに常駐型または一時型の属性情報を設定しておき、アプリケーション起動時に、この時点で動作中のアプリケーションの中から，一時型の属性情報が設定されたアプリケーションを強制終了させ，常駐型の属性情報が設定されたアプリケーションはそのまま残すようにした発明が開示されている。また，特許文献３では，アプリケーションの切り替え時に、起動対象となるアプリケーションとの関連性に基づき、起動及び終了させるアプリケーションを決定し、アプリケーションの起動によってメモリ容量不足が発生すると判断した場合，終了させると決定したアプリケーションを終了させることで，メモリ容量不足を解消する発明が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２１６４２７号公報
【特許文献２】特開２００３−１５８９２号公報
【特許文献３】特開２０１４−２３８６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら，上述した従来技術は，アプリケーションを起動した時，起動中のアプリケーションの中から所定の条件を満たすアプリケーションを終了させることで，コンピュータのメモリ不足を解消する技術であって，複数のコンテンツ表示プログラムを組み込み、実質的な振る舞いを設定ファイルで定義できるように構成したアプリケーションが消費するメインメモリのメモリ容量を必要以上に増えないようにする技術ではない。このようなアプリケーションが消費するメインメモリのメモリ容量が必要以上に増えないように，モバイル端末のタッチパネルに表示するコンテンツが切り替わる毎に，切り替わる前にタッチパネルに表示していたコンテンツをメインメモリから消去することも考えられるが，表示処理に時間のかかるコンテンツが繰り返してタッチパネルに表示されるケースでは，このコンテンツを表示する毎に表示待ちが発生し操作性が悪くなる問題がある。
【０００８】
そこで，本発明は，複数のコンテンツ表示プログラムを組み込み、実質的な振る舞いを設定ファイルで定義できるように構成したアプリケーションをモバイル端末上で起動させた後，モバイル端末のタッチパネルに表示するコンテンツが切り替わっても，コンテンツの表示に用いるメインメモリのメモリ容量が必要以上に増加せず，かつ，特定のコンテンツについては，モバイル端末のタッチパネルに表示した画面を後に再利用でき，特定のコンテンツの再表示をスムーズに行えるモバイル端末およびアプリケーションプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決する第１の発明は，メインメモリと，タッチパネルと，タッチパネルに出力された画面を後入れ先出しの形式で管理するスタックを有し，前記スタックの先頭にある画面が前記タッチパネルに表示されるように画面表示を制御するオペレーティングシステムとを備え，前記オペレーティングシステム上で動作するプログラムとして，複数の画面から構成されるコンテンツ画面を前記タッチパネルに表示するアプリケーションが実装されたモバイル端末であって，前記モバイル端末は，前記アプリケーションが起動されることで，前記コンテンツ画面をメインメモリに生成するコンテンツ表示手段と，前記コンテンツ表示手段が属するレイヤに基づいて前記コンテンツ表示手段の起動を管理する起動管理手段と，が機能するものであって，前記コンテンツ表示手段は，前記コンテンツ画面を切り替える操作がなされると，前記コンテンツ表示手段が属する前記レイヤを少なくとも定義した設定ファイルによって自分自身が属する前記レイヤを判断し，自分自身の前記レイヤが，前記コンテンツ画面を前記スタックから破棄しないレイヤである第１レイヤの場合は，自分自身が生成した前記コンテンツ画面を前記スタックから破棄することなく，切り替え先の前記コンテンツ画面に対応する前記コンテンツ表示手段の呼び出しを前記起動管理手段に要求し，自分自身の前記レイヤが，前記コンテンツ画面を前記スタックから破棄するレイヤである第２レイヤの場合は，自分自身が生成した前記コンテンツ画面を前記スタックから破棄する処理を実行するとともに，切り替え先の画面を生成する前記コンテンツ表示手段の呼び出しを前記起動管理手段に要求し，前記起動管理手段は，前記設定ファイルを参照して，前記第１レイヤに属している前記コンテンツ表示手段を起動させた後，前記スタックの先頭になっている前記コンテンツ画面を生成した前記コンテンツ表示手段から他の前記コンテンツ表示手段の呼び出し要求を受けると，前記設定ファイルを参照して，呼び出し先になる前記コンテンツ表示手段が属する前記レイヤが前記第２レイヤの場合のみ，呼び出し先となる前記コンテンツ表示手段を起動させる処理を行う，ことを特徴とするモバイル端末である。第１の発明によれば，前記第２レイヤに属する前記コンテンツ表示手段が生成した前記コンテンツ画面がタッチパネルに表示されている状態で，前記第２レイヤに属する他の前記コンテンツ表示手段が呼び出されても，呼び出し元になる前記コンテンツ表示手段が生成した前記コンテンツ画面が，メインメモリに形成される前記スタックから破棄された後に，切り替え先の前記コンテンツ表示手段が呼び出されるので，前記第２レイヤに係る前記コンテンツ画面は前記スタック上に重複して積み重なることはなく，前記コンテンツ画面の保持に要するメインメモリのメモリ容量が必要以上に増加することはなくなる。また，前記第１レイヤに属する前記コンテンツ表示手段が生成した前記コンテンツ画面は，前記アプリケーションが終了するまで前記スタックに残るので，前記第１レイヤに属する前記コンテンツ表示手段が生成した前記コンテンツ画面については，前記タッチパネルに表示した後に再利用できるため，表示時間待ちが生じない。
【００１０】
更に，第２の発明は，第１の発明に記載の発明において，前記設定ファイルに，第３レイヤに属する前記コンテンツ表示手段とその起動条件，および，前記第３レイヤから戻る時の前記レイヤを定義し，前記起動管理手段は，前記起動条件が成立とすると，前記第３レイヤに属する前記コンテンツ表示手段を起動させる処理を行い，前記コンテンツ表示手段は，前記設定ファイルによって自分自身が属する前記レイヤが前記第３レイヤの場合，自分自身が生成した前記コンテンツ画面を前記スタックから破棄する処理を実行した後，前記設定ファイルを参照して，前記第３レイヤから戻る時の前記レイヤを取得し，前記第３レイヤから戻る時のレイヤが前記第１レイヤで，かつ，前記第２レイヤの前記コンテンツ画面が前記スタックにある場合は，前記第２レイヤの前記コンテンツ画面を前記スタックから破棄する処理を実行することを特徴とする。なお，第２の発明は，スクリーンセーバ，管理画面または操作ガイドなどの特殊用途のコンテンツ画面を表示できるようにした発明である。
【００１１】
更に，第３の発明は，第１の発明または第２の発明に記載の発明において，前記起動管理手段は，前記第２レイヤに割り当てられた前記コンテンツ表示手段の起動履歴を保持し，一つ前の前記コンテンツ画面に戻る要求を受けたときは，前記起動履歴を参照して，前記スタックの先頭になる前記コンテンツ画面が対応する前記レイヤを判断し，この前記レイヤが前記第２レイヤの場合は，前記スタックの先頭になる前記コンテンツ画面を前記スタックから破棄する処理を行った後，前記起動履歴を参照して，一つ前の前記コンテンツ画面が対応する前記レイヤを判断し，一つ前の前記コンテンツ画面が対応する前記レイヤが前記第２レイヤの場合は，前記起動履歴を利用して，一つ前の前記コンテンツ画面に対応する前記コンテンツ表示手段を起動する処理を行うことを特徴とする。なお，第３の発明は，一つ前の画面に戻る操作を行えるようにした発明である。
【００１２】
更に，第４の発明は，第２の発明に記載の発明において，前記設定ファイルによって，メニュー画面を前記コンテンツ画面として表示する前記コンテンツ表示手段が属する前記レイヤを前記第１レイヤとし，前記メニュー画面から呼び出すことのできる前記コンテンツ画面を生成する前記コンテンツ表示手段の前記レイヤ，および，この前記コンテンツ表示手段から呼び出すことのできる前記コンテンツ表示手段が属する前記レイヤを前記第２レイヤとし，スクリーンセーバを表示する前記コンテンツ表示手段の前記レイヤを前記第３レイヤとし，更に，前記第３レイヤに属する前記コンテンツ表示手段の起動条件を無操作時間が一定時間続いた時としたことを特徴とする。なお，第４の発明は，メニュー画面をコンテンツとして表示する前記コンテンツ表示手段を前記第１レイヤに割り当て，更に，特殊用途のコンテンツ画面をスクリーンセーバとした発明である。
【００１３】
更に，第５の発明は，第１の発明から第３の発明のいずれか一項に記載の前記コンテンツ表示手段および前記起動管理手段として，モバイル端末のプロセッサを機能させるためのコンピュータプログラムである。なお，第５の発明は，コンピュータプログラムに係る発明である。
【発明の効果】
【００１４】
このように，本発明によれば，複数のコンテンツ表示プログラムを組み込み、実質的な振る舞いを設定ファイルで定義できるように構成したアプリケーションをモバイル端末上で起動させた後，モバイル端末のタッチパネル上に表示するコンテンツが切り替わっても，コンテンツの表示に用いるメインメモリのメモリ容量が必要以上に増加することのないモバイル端末およびアプリケーションプログラムを提供できる。
【図面の簡単な説明】
【００１５】
【図１】モバイル端末を用いたクラウドサービスシステムを説明する図。
【図２】モバイル端末のハードウェア構成を説明する図。
【図３】モバイル端末に実装されるソフトウェアの構成を説明する図。
【図４】オペレーティングシステムが画面表示を制御する内容を説明する図。
【図５】第１レイヤに属する時のコンテンツ表示プログラムの動作を説明する図。
【図６】第２レイヤに属する時のコンテンツ表示プログラムの動作を説明する図
【図７】第３レイヤに属する時のコンテンツ表示プログラムの動作を説明する図
【図８】第１，２レイヤに属するコンテンツ表示プログラムを起動させる時の起動管理プログラムの動作を説明する図。
【図９】第３レイヤに属するコンテンツ表示プログラムを起動させる時の起動管理プログラムの動作を説明する図。
【図１０】一つ前のコンテンツ画面に戻る操作が行われた時の起動管理プログラムの動作を説明する図。
【発明を実施するための形態】
【００１６】
ここから，本発明の好適な実施形態を記載する。なお，以下の記載は本発明の技術的範囲を束縛するものでなく，理解を助けるために記述するものである。
【００１７】
図１は，本実施形態に係るモバイル端末１を用いたクラウドサービスシステムを説明する図で，図１では，本実施形態に係るモバイル端末１に加え，業務に用いる様々なコンテンツ３０を記憶しているサーバ３を図示している。なお，本実施形態に係るモバイル端末１をタブレットの形態で図示しているが，本実施形態に係るモバイル端末１はスマートフォンとすることもできる。
【００１８】
図１で図示したサーバ３は，複数の画面により構成されるコンテンツを記憶し，図１では，業務に用いるコンテンツとして，広告動画３０ａ，電子カタログ３０ｂ，電子アンケート３０ｃに加え，電子アンケート３０ｃに回答したユーザのみが閲覧可能な特典動画３０ｄを図示している。
【００１９】
本実施形態に係るモバイル端末１は，コンテンツ（ここでは，サーバ３からダウンロードしたコンテンツ，または，モバイル端末１が格納しているコンテンツになる）のコンテンツ画面をタッチパネルに表示するアプリケーション２を実装している。モバイル端末１を利用するユーザは，モバイル端末１に表示させるコンテンツ画面を切り替えながら，商談などの業務を行うことになるが，モバイル端末１に表示させるコンテンツ画面が切り替わると，コンテンツ画面の生成に用いられるメインメモリのメモリ容量が増え，動作が遅くなるなど，アプリケーション２の動作に不具合が発生することがあるため，本実施形態のモバイル端末１には，モバイル端末１に表示させるコンテンツ画面が切り替わっても，コンテンツ画面で消費するメインメモリのメモリ容量が必要以上に増加しない工夫を施している。
【００２０】
本実施形態に係るモバイル端末１のハードウェア構成について説明する。図２は，本実施形態に係るモバイル端末１のハードウェア構成を説明する図である。図２で図示しているように，モバイル端末１は，ハードウェア資源として，プロセッサ１ａ，メインメモリとなるＲＡＭ１ｂ，電気的に書き換え可能な不揮発性メモリであるＮＶＭ（Nonvolatile Memory）１ｃ，表示と入力の機能を兼ね備えたデバイスであるタッチパネル１ｄ，および，移動体通信網を利用した通信を行うための回路である移動体通信回路１ｅを備える。なお，図２では，本発明の説明に必要なハードウェア資源のみを図示しており，モバイル端末１は，近距離無線用の通信回路およびオーディオ関係の回路など，図２で図示した以外のハードウェア資源を備えることになる。
【００２１】
モバイル端末１のプロセッサ１ａは，モバイル端末１に実装されたコンピュータプログラムを実行する処理装置である。モバイル端末１のＲＡＭ１ｂは，プロセッサ１ａがコンピュータプログラムを実行する時に使用する記憶装置である。モバイル端末１のＮＶＭ１ｃは，二次記憶装置となるメモリで，アプリケーション２のプログラムコードなどを記憶している。モバイル端末１のタッチパネル１ｄは，コンテンツを表示するディスプレイ（例えば，液晶ディスプレイ）と，ディスプレイに表示された画面上を指で操作するタッチデバイスが組み合わされたデバイスである。モバイル端末１の移動体通信回路１ｅは，アプリケーション２がサーバ３からコンテンツをダウンロードするときに用いる通信回路になる。
【００２２】
次に，本実施形態に係るモバイル端末１に実装されるソフトウェアの構成について説明する。図３は，本実施形態に係るモバイル端末１に実装されるソフトウェアの構成を説明する図である。図３に図示したように，本実施形態に係るモバイル端末１には，Ａｐｐｌｅ社のｉＯＳ（登録商標）やＧｏｏｇｌｅ社のＡｎｄｒｏｉｄ（登録商標）など，モバイル用途の機能に特化したオペレーティングシステム１０と，このオペレーティングシステム１０上で動作するアプリケーション２が実装される。
【００２３】
図４は，オペレーティングシステム１０が画面表示を制御する内容を説明する図である。モバイル端末１に実装されるオペレーティングシステム１０は，タッチパネル１ｄに出力された画面を後入れ先出しの形式で管理するスタック１０ａを有し，スタック１０ａの先頭になる画面がタッチパネル１ｄに出力されるように画面表示を制御する機能を備え，アプリケーション２に公開しているＡＰＩとして，画面を生成するコンポーネントプログラムを呼び出すＡＰＩおよびウィンドウ（画面全体の表示枠を意味する）を生成するＡＰＩを有している。
【００２４】
この機能について詳細に説明する。モバイル端末１に実装されるオペレーティングシステム１０は，アプリケーション２が最初に生成したコンテンツ画面Ａを，画面管理に用いるスタック１０ａに最初に追加（プッシュ）し，スタック１０ａの先頭になるコンテンツ画面Ａをタッチパネル１ｄに表示する（図４（ａ））。なお，オペレーティングシステム１０は，コンテンツ画面そのものをスタック１０ａに入れるのではなく，コンテンツ画面に割り当てたメモリ領域などをスタック１０ａに入れて，タッチパネル１ｄに出力した画面を管理する。コンテンツ画面Ａを生成した後，アプリケーション２がコンテンツ画面Ｂを生成すると，オペレーティングシステム１０は，アプリケーション２が生成したコンテンツ画面Ｂをスタック１０ａに追加して（Ｓ６０），スタック１０ａの先頭になるコンテンツ画面Ｂをタッチパネル１ｄに表示し，コンテンツ画面Ａはコンテンツ画面Ｂのバックグラウンドで待機した状態になる（図４（ｂ））。コンテンツ画面Ｂを生成した後，アプリケーション２がコンテンツ画面Ｃを生成すると，オペレーティングシステム１０は，アプリケーション２が生成したコンテンツ画面Ｃをスタック１０ａに追加して（Ｓ６１），スタック１０ａの先頭になるコンテンツ画面Ｃをタッチパネル１ｄに表示し，コンテンツ画面Ａ，Ｂはコンテンツ画面Ｃのバックグラウンドで待機した状態になる（図４（ｃ））。また，アプリケーション２によって，スタック１０ａの先頭になるコンテンツ画面が破棄されると，オペレーティングシステム１０は，スタック１０ａにおいて一つ前のコンテンツ画面をタッチパネル１ｄに表示する。例えば，コンテンツ画面Ｃがタッチパネル１ｄに表示されている状態で，スタック１０ａからコンテンツ画面Ｃが破棄されると（Ｓ６２），スタック１０ａの状態は図４（ｂ）の状態に戻り，オペレーティングシステム１０は，コンテンツ画面Ｂをタッチパネル１ｄに表示する。また，コンテンツ画面Ｂがタッチパネル１ｄに表示されている状態で，スタック１０ａからコンテンツ画面Ｂが破棄されると（Ｓ６３），スタック１０ａの状態は図４（ａ）の状態に戻り，オペレーティングシステム１０は，コンテンツ画面Ａをタッチパネル１ｄに表示する。
【００２５】
このように，モバイル端末１に実装されるオペレーティングシステム１０は，アプリケーション２がコンテンツ画面を生成する毎に，アプリケーション２が生成したコンテンツ画面をスタックするため，アプリケーション２が生成したコンテンツ画面の数が増えると，コンテンツ画面の格納に必要なメモリ容量も増えてしまう。そこで，本実施形態に係るアプリケーション２には，アプリケーション２が生成したコンテンツ画面の数が増えても，コンテンツ画面の格納に必要なメモリ容量が増えない仕組みを設けている。
【００２６】
図３に図示したように，モバイル端末１に実装されるアプリケーション２は，タッチパネル１ｄに表示させるコンテンツ画面をＲＡＭ１ｂに生成するコンテンツ表示プログラム２１と，コンテンツ表示プログラム２１が用いるコンテンツと，コンテンツ表示プログラム２１が属するレイヤをコンテンツ表示プログラム２１毎に定義した設定ファイル２３と，設定ファイル２３で設定されたコンテンツ表示プログラム２１のレイヤに基づいて，コンテンツ表示プログラム２１の起動を管理する起動管理プログラム２０備える。なお，本実施形態において，コンテンツ表示プログラム２１のレイヤは，第１レイヤ，第２レイヤおよび第３レイヤの３つで，第１レイヤは，他のコンテンツ画面に切り替わる際，自分自身のコンテンツ画面をスタック１０ａから破棄しないコンテンツ表示プログラム２１であることを示すレイヤで，第２レイヤは，他のコンテンツ画面に切り替わる際，自分自身のコンテンツ画面をスタック１０ａから破棄するコンテンツ表示プログラム２１であることを示すレイヤで，第３レイヤは，特殊用途のコンテンツ画面（例えば，スクリーンセーバ，管理画面，操作ガイドなど）を生成するコンテンツ表示プログラム２１であることを示すレイヤである。
【００２７】
モバイル端末１が備える設定ファイル２３は，モバイル端末１のＮＶＭ１ｃに格納されるテキスト形式のファイルで，設定ファイル２３の内容によってアプリケーション２の実質的な振る舞いが定義される。本実施形態の設定ファイル２３には，アプリケーション２に組み込むコンテンツ表示プログラム２１を任意に定義できるように，アプリケーション２に組み込まれたコンテンツ表示プログラム２１の識別子が記述され，更に，アプリケーション２に組み込まれたコンテンツ表示プログラム２１の識別子毎に，識別子に対応するコンテンツ表示プログラム２１が用いるコンテンツが格納されているパスと，識別子に対応するコンテンツ表示プログラム２１が属するレイヤが記述されている。なお，コンテンツ表示プログラム２１が用いるコンテンツのパスを設定ファイル２３に記述するのは，設定ファイル２３によって，コンテンツ表示プログラム２１が用いるコンテンツを変更できるようにするためで，また，コンテンツ表示プログラム２１が属するレイヤを設定ファイル２３に記述するのは，設定ファイル２３によって，レイヤに割り当てるコンテンツ表示プログラム２１を変更できるようにするためである。
【００２８】
加えて，本実施形態では，設定ファイル２３によって，最初に起動するコンテンツ表示プログラム２１の識別子が定義されている。また，設定ファイル２３によって，特殊用途のコンテンツ画面を表示する時の振る舞いを定義できるように，特殊用途のコンテンツ画面を生成する生成するコンテンツ表示プログラム２１の起動条件（例えば，無操作時間が１０分間続いた時，特殊用途のコンテンツ画面を表示する操作がなされた時など）と，特殊用途のコンテンツ画面が終了する時の振る舞いとして，第３レイヤから戻るレイヤを定義している。
【００２９】
アプリケーション２に組み込まれるコンテンツ表示プログラム２１は，本発明に係るコンテンツ表示手段として機能するアプリケーション２のコンポーネントプログラムである。コンテンツ表示プログラム２１は，それぞれ異なるコンテンツに対応し，本実施形態において，サーバ３は，広告動画３０ａ，電子カタログ３０ｂ，電子アンケート３０ｃおよび特典動画３０ｄをコンテンツとして記憶しているため，サーバ３からダウンロードした電子カタログ３０ｂのコンテンツ画面を生成するコンテンツ表示プログラム２１ｂ，サーバからダウンロードした電子アンケート３０ｃのコンテンツ画面を生成するコンテンツ表示プログラム２１ｃ，サーバ３からダウンロードした特典動画３０ｄのコンテンツ画面を生成するコンテンツ表示プログラム２１ｄ，および，サーバ３からダウンロードした広告動画３０ａのコンテンツ画面を生成するコンテンツ表示プログラム２１ａをアプリケーション２に組み込んでいる。更に，本実施形態では，アプリケーション２の基本画面を表示するコンテンツ表示プログラム２１として，コンテンツ画面を縮小したサムネイルを複数表示するメニュー画面を生成するコンテンツ表示プログラム２１ｅをアプリケーション２に組み込んでいる。
【００３０】
アプリケーション２に組み込まれるコンテンツ表示プログラム２１の基本的な動作は，ウィンドウを生成するＡＰＩを利用して，コンテンツ画面を表示するウィンドウを生成した後，自分自身に対応するコンテンツをこのウィンドウ内に描画することで，コンテンツ画面をＲＡＭ１ｂに生成する動作になるが，コンテンツ画面を生成する時の具体的な振る舞いは，設定ファイル２３で自分自身に定義されているレイヤに応じて変更になる。そこで，ここから，それぞれのレイヤ（第１レイヤ，第２レイヤおよび第３レイヤ）毎に，コンテンツ表示プログラム２１の動作について説明する。
【００３１】
図５は，第１レイヤに属する時のコンテンツ表示プログラム２１の動作を説明する図である。本実施形態では，第１レイヤに属するコンテンツ表示プログラム２１は，アプリケーション２が起動した時に起動管理プログラム２０から呼び出されて起動する（Ｓ１）。なお，第１レイヤに属するコンテンツ表示プログラム２１が生成するコンテンツ画面は，アプリケーション２のホーム画面になるため，本実施形態では，第１レイヤに属するコンテンツ表示プログラム２１を，コンテンツ画面としてメニュー画面を生成するコンテンツ表示プログラム２１ｅにしている。
【００３２】
第１レイヤに属するコンテンツ表示プログラム２１が起動すると，まず，設定ファイル２３を参照して，自分自身が描写処理するコンテンツのパスを取得した後，ウィンドウを生成するＡＰＩを利用して，コンテンツ画面を表示するウィンドウを生成した後，自分自身に対応するコンテンツをこのウィンドウ内に描画することで，コンテンツ画面をＲＡＭ１ｂに生成し（Ｓ２），オペレーティングシステム１０の機能によって，第１レイヤに属するコンテンツ表示プログラム２１が生成したコンテンツ画面が最初にスタック１０ａに追加されて，スタック１０ａの状態は図４（ａ）の状態になり，このコンテンツ画面がタッチパネル１ｄに表示される。
【００３３】
第１レイヤ２２ａに属するコンテンツ表示プログラム２１が生成したコンテンツ画面がタッチパネル１ｄに表示されている状態，すなわち，このコンテンツ画面のみがスタック１０ａにある状態で，タッチパネル１ｄを利用して，コンテンツ画面を切り替える操作（ここでは，メニュー画面から他のコンテンツ画面を選択する操作になる）がなされると，第１レイヤ２２ａに属するコンテンツ表示プログラム２１は，設定ファイル２３を参照して，自分自身が属するレイヤ（ここでは，第１レイヤになる）を確認し（Ｓ３），第１レイヤに応じた処理として，自分自身が生成したコンテンツ画面をスタック１０ａから破棄することなく，切り替え先となるコンテンツ画面を生成するコンテンツ表示プログラム２１の呼び出しを起動管理プログラム２０に要求して（Ｓ４），図４の手順は終了する。
【００３４】
上述した振る舞いによれば，第１レイヤに属するコンテンツ表示プログラム２１は，コンテンツの画面が切り替わる際に，自分自身が生成したコンテンツ画面をスタック１０ａから破棄しないので，第１レイヤのコンテンツ画面は，図４（ｂ）のように，切り替わったコンテンツ画面のバックグラウンドで待機している状態になる。
【００３５】
図６は，第２レイヤに属する時のコンテンツ表示プログラム２１の動作を説明する図である。第２レイヤに属するコンテンツ表示プログラム２１は，第１レイヤに属するコンテンツ表示プログラム２１，または，第２レイヤに属する他のコンテンツ表示プログラム２１の呼び出し要求に応じた起動管理プログラム２０から呼び出されることで起動する（Ｓ１０）。
【００３６】
第２レイヤに属するコンテンツ表示プログラム２１は，設定ファイル２３を利用して，自分自身が描写処理するコンテンツのパスを取得した後，ウィンドウを生成するＡＰＩを利用して，コンテンツ画面を表示するウィンドウを生成した後，自分自身に対応するコンテンツをこのウィンドウ内に描画することで，コンテンツ画面をＲＡＭ１ｂに生成し，オペレーティングシステム１０の機能によって，第２レイヤに属するコンテンツ表示プログラム２１が生成したコンテンツ画面がスタック１０ａの先頭に追加されて，スタック１０ａの状態は図４（ｂ）の状態になり，このコンテンツ画面がタッチパネル１ｄに表示される（Ｓ１１）。
【００３７】
第２レイヤのコンテンツ画面がタッチパネル１ｄに表示されている状態で，タッチパネル１ｄを利用して，コンテンツ画面を切り替える操作（例えば，他のコンテンツ画面を呼び出すハイパーリンクをタップする操作になる）がなされると，第２レイヤに属するコンテンツ表示プログラム２１は，設定ファイル２３を参照して，自分自身が属するレイヤ（ここでは，第２レイヤになる）を確認し（Ｓ１２），第２レイヤに応じた処理として，ウィンドウを破棄するＡＰＩを利用して，自分自身が生成したコンテンツ画面をスタック１０ａから破棄してから（Ｓ１３），切り替え先となるコンテンツ画面を生成するコンテンツ表示プログラム２１の呼び出しを起動管理プログラム２０に要求して（Ｓ１４），図５の手順は終了する。尚、他に不都合な結果が生じなければ、S14の処理をS１３の処理より先に行ってもかまわない。あるいは、OS・APIの仕様により、S13の処理をS14の後にしなければならない場合もあり得る。
【００３８】
第２レイヤに属するコンテンツ表示プログラムが生成したコンテンツ画面がタッチパネル１ｄに表示されている状態で，第１レイヤに属するコンテンツ表示プログラム２１が呼び出された場合，第２レイヤのコンテンツ画面はスタック１０ａから破棄されるので，スタック１０ａの状態は図４（ａ）になり，第２レイヤのコンテンツ画面のバックグラウンドで待機していた第１レイヤのコンテンツ画面がタッチパネル１ｄに表示されることになる。また，第２レイヤのコンテンツ画面がタッチパネル１ｄに表示されている状態で，第２レイヤに属する他のコンテンツ表示プログラム２１が呼び出されても，呼び出し元になったコンテンツ表示プログラム２１が生成したコンテンツ画面はスタック１０ａから破棄されるので，第２レイヤに係るコンテンツ画面がスタック１０ａに複数スタックされず，コンテンツ画面の保存に用いるＲＡＭ１ｂのメモリ容量が必要以上に増加することはなくなる。
【００３９】
図７は，第３レイヤに属する時のコンテンツ表示プログラム２１の動作を説明する図である。第３レイヤに属するコンテンツ表示プログラム２１は，設定ファイル２３で定義されている第３レイヤのコンテンツ表示プログラム２１の起動条件が成立したときに，起動管理プログラム２０から呼び出されることで起動する（Ｓ２０）。
【００４０】
第３レイヤに属するコンテンツ表示プログラム２１は，設定ファイル２３を利用して，自分自身が用いるコンテンツのパスを取得した後，ウィンドウを生成するＡＰＩを利用して，コンテンツ画面を表示するウィンドウを生成した後，自分自身に対応するコンテンツをこのウィンドウ内に描画することで，コンテンツ画面をＲＡＭ１ｂに生成し，オペレーティングシステム１０の機能によって，第３レイヤに属するコンテンツ表示プログラム２１が生成したコンテンツ画面がスタック１０ａの先頭に追加されて，このコンテンツ画面がタッチパネル１ｄに表示される（Ｓ２１）。なお，設定ファイル２３で定義された起動条件が成立したときに，第１レイヤに属するコンテンツ表示プログラム２１が生成したコンテンツ画面がタッチパネル１ｄに表示されている場合，第１レイヤのコンテンツ画面のみが第３レイヤのコンテンツ画面（特殊用途のコンテンツ画面になる）のバックグラウンドで待機している状態になる。また，設定ファイル２３で定義された起動条件が成立したときに，第２レイヤに属するコンテンツ表示プログラム２１が生成したコンテンツ画面がタッチパネル１ｄに表示されている場合，第１，２レイヤのコンテンツ画面が第３レイヤのコンテンツ画面（特殊用途のコンテンツ画面になる）のバックグラウンドで待機している状態になる。
【００４１】
タッチパネル１ｄを利用したコンテンツの切り替え操作として，第３レイヤのコンテンツ画面，すなわち，特殊用途のコンテンツ画面の表示を終了させる操作がなされると，第３レイヤに属するコンテンツ表示プログラム２１は，設定ファイル２３を参照して，自分自身が属するレイヤ（ここでは，第３レイヤになる）を確認し（Ｓ２２），第３レイヤに応じた処理として，まず，ウィンドウを破棄するＡＰＩを利用して，自分自身が生成したコンテンツ画面をスタック１０ａから破棄する（Ｓ２３）。
【００４２】
次に，第３レイヤに属するコンテンツ表示プログラム２１は，第３レイヤに応じた処理として，設定ファイルを参照して，第３レイヤｃから戻るレイヤを取得する（Ｓ２４）。
【００４３】
第３レイヤに属するコンテンツ表示プログラム２１は，第３レイヤから戻る時のレイヤによって処理を分岐し（Ｓ２５），第３レイヤから戻る時のレイヤが，第３レイヤに属するコンテンツ表示プログラム２１が起動する直前の画面の場合は，第３レイヤに属するコンテンツ表示プログラム２１の終了を起動管理プログラム２０に通知して（Ｓ２７），図６の手順は終了する。また，第３レイヤから戻る時のレイヤが第１レイヤで，かつ，第２レイヤのコンテンツ画面がスタック１０ａにある場合は，ウィンドウを破棄するＡＰＩを利用して，第２レイヤのコンテンツ画面をスタック１０ａから廃棄してから（Ｓ２６），第３レイヤに属するコンテンツ表示プログラム２１の終了を起動管理プログラム２０に通知して（Ｓ２７），図６の手順は終了する。
【００４４】
第３レイヤに属するコンテンツ表示プログラム２１が起動した時に，スタック１０ａの先頭になっているコンテンツ画面のレイヤが第１レイヤの場合，第３レイヤに属するコンテンツ表示プログラム２１が起動することで，図４（ｂ）のように，第１レイヤのコンテンツ画面は第３レイヤのコンテンツ画面のバックグラウンドで待機した状態になる。このケースでは，第３レイヤから戻る時のレイヤに係わらず，第３レイヤのコンテンツ画面がスタック１０ａから破棄されることで，第１レイヤのコンテンツ画面がタッチパネル１ｄに表示される。また，第３レイヤに属するコンテンツ表示プログラム２１が起動した時に，スタック１０ａの先頭になっているコンテンツ画面のレイヤが第２レイヤの場合，第３レイヤに属するコンテンツ表示プログラム２１が起動することで，図４（ｃ）のように，第１，２レイヤのコンテンツ画面が第３レイヤのコンテンツ画面のバックグラウンドで待機した状態になる。このケースでは，第３レイヤから戻る時のレイヤが直前の画面の場合，第３レイヤのコンテンツ画面が破棄されることで，図４（ｂ）のように，第２レイヤのコンテンツ画面がタッチパネル１ｄに表示される。また，第３レイヤから戻る時のレイヤが第１レイヤの場合，第３レイヤに属するコンテンツ表示プログラム２１は，第２，３レイヤのコンテンツ画面をスタック１０ａから破棄するので，図４（ａ）のように，第１レイヤのコンテンツ画面がタッチパネル１ｄに表示される。
【００４５】
次に，起動管理プログラム２０について説明する。モバイル端末１に実装された起動管理プログラム２０は，本発明に係る起動管理手段として機能するアプリケーション２のコンポーネントプログラムで，設定ファイル２３で設定されたコンテンツ表示プログラム２１のレイヤに基づいて，コンテンツ表示プログラム２１の起動を管理する。なお，起動管理プログラム２０は，画面を生成するコンポーネントプログラムを呼び出すＡＰＩを利用して，コンテンツ表示プログラム２１を起動させる。
【００４６】
図８は，第１，２レイヤに属するコンテンツ表示プログラム２１を起動させる時の起動管理プログラム２０の動作を説明する図である。起動管理プログラム２０は，アプリケーション２が起動すると，設定ファイル２３を参照し，画面を生成するコンポーネントプログラムを呼び出すＡＰＩを利用して，第１レイヤに属性しているコンテンツ表示プログラム２１を最初に起動させる（Ｓ３０）。その後に，スタック１０ａの先頭になっているコンテンツ画面を生成したコンテンツ表示プログラム２１から，他のコンテンツ表示プログラム２１の呼び出し要求を受けると（Ｓ３１），設定ファイル２３を利用して，呼び出し先のコンテンツ表示プログラム２１が属するレイヤを特定し（Ｓ３２），特定したレイヤによって処理を分岐させる（Ｓ３３）。特定したレイヤが第１レイヤの場合，起動管理プログラム２０は，呼び出し先のコンテンツ表示プログラム２１（ここでは，第１レイヤに属するコンテンツ表示プログラム２１になる）を起動させることなく，図７の手順は終了する。また，特定したレイヤが第２レイヤの場合，起動管理プログラム２０は，画面を生成するコンポーネントプログラムを呼び出すＡＰＩを利用して，呼び出し先のコンテンツ表示プログラム２１（ここでは，第２レイヤに属するコンテンツ表示プログラム２１のいずれか）を起動させて（Ｓ３４），図７の手順は終了する。なお，Ｓ３１からＳ３４までの処理は，アプリケーション２が終了するまで繰り返し実行されることになる。
【００４７】
図９は，第３レイヤに属するコンテンツ表示プログラム２１を起動させる時の起動管理プログラム２０の動作を説明する図である。本実施形態に係る起動管理プログラム２０は，設定ファイル２３で定義された第３レイヤのコンテンツ表示プログラム２１の起動条件が成立すると，画面を生成するコンポーネントプログラムを呼び出すＡＰＩを利用して，第３レイヤに属するコンテンツ表示プログラム２１を起動させ，第３レイヤに属するコンテンツ表示プログラム２１が生成したコンテンツ画面をタッチパネル１ｄに表示させる処理を行う（Ｓ４０）。その後に，第３レイヤに属するコンテンツ表示プログラム２１から終了が通知されると（Ｓ４１），この手順は終了する。
【００４８】
また，本実施形態に係るコンテンツ表示プログラム２１は，表示させるコンテンツ画面の中に一つ前のコンテンツ画面に戻る操作を行うためのユーザインターフェースを含めて表示し，このユーザインターフェースを利用して，一つ前のコンテンツ画面に戻る操作がなされたことを，起動管理プログラム２０に通知する機能を備えてもよい。
【００４９】
一つ前のコンテンツ画面をタッチパネル１ｄに表示することができるように，本実施形態に係る起動管理プログラム２０は，第２レイヤに属するコンテンツ表示プログラム２１を起動させた起動履歴を保持するためのファイルとして起動履歴ファイルを有する。起動管理プログラム２０は，図８のＳ３２において，呼び出し先のコンテンツ表示プログラム２１のレイヤが第２レイヤの場合，呼び出し先のコンテンツ表示プログラム２１の起動履歴（コンテンツ表示プログラム２１の識別子や復元パラメータなど）を起動履歴ファイルに追加し，呼び出し先のコンテンツ表示プログラム２１のレイヤが第１レイヤの場合，起動履歴ファイルの内容を初期化する。
【００５０】
図１０は，一つ前のコンテンツ画面に戻る操作が行われた時の起動管理プログラム２０の動作を説明する図である。起動管理プログラム２０が有するユーザインターフェースを利用して，一つ前のコンテンツ画面に戻る操作が行われると，起動管理プログラム２０は，スタック１０ａの先頭になっているコンテンツ画面が対応するレイヤを判断する（Ｓ５０）。起動管理プログラム２０は，このレイヤが第１レイヤの場合，この手順を終了し，このレイヤが第２レイヤの場合，スタック１０ａの先頭になるコンテンツ画面を破棄する処理を行うことで，この時点でタッチパネル１ｄに表示されている第２レイヤのコンテンツ画面をスタック１０ａから破棄する（Ｓ５１）。次に，起動管理プログラム２０は，起動履歴ファイルが初期状態であるか否かにより，一つ前のコンテンツ画面が対応するレイヤが第２レイヤであるか判断する（Ｓ５２）。起動管理プログラム２０は，このレイヤが第１レイヤの場合，この手順を終了し，このレイヤが第２レイヤの場合，すなわち，起動履歴ファイルに起動履歴がある場合，起動管理プログラム２０は，起動履歴ファイルに保存されている一つ前の起動履歴を利用して，一つ前に表示されていた第２レイヤのコンテンツ画面に対応するコンテンツ表示プログラム２１を起動させ，一つ前に表示されていた第２レイヤのコンテンツ画面をタッチパネル１ｄに表示して（Ｓ５３），この手順は終了する。
【符号の説明】
【００５１】
１    モバイル端末
１０  オペレーティングシステム
１０ａ  スタック
２    アプリケーション
２０  起動管理プログラム
２１  コンテンツ表示プログラム
２３  設定ファイル
【図１】
2019023766.tif 000003
【図２】
2019023766.tif 000004
【図３】
2019023766.tif 000005
【図４】
2019023766.tif 000006
【図５】
2019023766.tif 000007
【図６】
2019023766.tif 000008
【図７】
2019023766.tif 000009
【図８】
2019023766.tif 000010
【図９】
2019023766.tif 000011
【図１０】
2019023766.tif 000012