特許第6072362号(P6072362)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シャオミ・インコーポレイテッドの特許一覧

特許6072362アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体
<>
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000002
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000003
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000004
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000005
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000006
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000007
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000008
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000009
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000010
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000011
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000012
  • 特許6072362-アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6072362
(24)【登録日】2017年1月13日
(45)【発行日】2017年2月1日
(54)【発明の名称】アプリケーションプログラムの処理方法、装置、プログラム及び記憶媒体
(51)【国際特許分類】
   G06F 9/54 20060101AFI20170123BHJP
   G06F 9/48 20060101ALI20170123BHJP
【FI】
   G06F9/06 640C
   G06F9/46 452Z
   G06F9/46 457
【請求項の数】10
【全頁数】16
(21)【出願番号】特願2016-518833(P2016-518833)
(86)(22)【出願日】2014年10月22日
(65)【公表番号】特表2016-526244(P2016-526244A)
(43)【公表日】2016年9月1日
(86)【国際出願番号】CN2014089218
(87)【国際公開番号】WO2015172518
(87)【国際公開日】20151119
【審査請求日】2014年12月19日
(31)【優先権主張番号】201410203339.1
(32)【優先日】2014年5月14日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】513309030
【氏名又は名称】シャオミ・インコーポレイテッド
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】ワン ウエンジュン
(72)【発明者】
【氏名】ユアン ジュン
(72)【発明者】
【氏名】ホアン チィウ
(72)【発明者】
【氏名】ハン ウエイ
【審査官】 多賀 実
(56)【参考文献】
【文献】 米国特許出願公開第2013/0343373(US,A1)
【文献】 特表2013−524362(JP,A)
【文献】 加藤 勝明,「教えて! Macのメカニズム ハード・ソフト・サービスの構造、仕組みを知ろう! 第36回 マルチタスクとプロセス管理」,Mac Fan,株式会社毎日コミュニケーションズ,2010年11月 1日,第18巻,第11号,pp.130−131
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/048−3/0489
G06F9/44−9/445
G06F9/46−9/54
(57)【特許請求の範囲】
【請求項1】
ユーザインタフェースのUIプロセスと論理的なプロセスとを含むアプリケーションプログラムを、フォアグラウンド実行からバックグラウンド実行に切り替えるステップと、
前記アプリケーションプログラムのUIプロセスを終了し、前記アプリケーションプログラムの論理的なプロセスを引き続き実行するステップとを含み、
前記アプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替える前に、更に、
前記アプリケーションプログラムを起動する時、前記アプリケーションプログラムの設定ファイルにおける論理的なプロセスマーク及び/又はUIプロセスマークを読み取るステップと、
前記論理的なプロセスマーク及び/又はUIプロセスマークに基づいて、前記アプリケーションプログラムに含まれるそれぞれのサブプログラムに対しプロセスタイプの分類を行うステップと、
分類された前記プロセスタイプに基づいて、前記UIプロセス及び前記論理的なプロセスを実行するステップとを含み、
前記プロセスタイプは、UIタイプと論理的なタイプとを含み、
前記UIプロセスにおいて前記UIタイプのサブプログラムを実行し、前記論理的なプロセスにおいて前記論理的なタイプのサブプログラムを実行する
ことを特徴とするアプリケーションプログラムの処理方法。
【請求項2】
更に、
前記アプリケーションプログラムをバックグラウンドからフォアグラウンドに切り替えて実行する場合、前記論理的なプロセスに基づいて前記UIプロセスを改めて作成するステップ
を含むことを特徴とする請求項1に記載のアプリケーションプログラムの処理方法。
【請求項3】
前記アプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、更に、
前記アプリケーションプログラムがバックグラウンドで実行する時間の長さを確定するステップと、
前記アプリケーションプログラムがバックグラウンドで実行する時間の長さが予め設定した時間の長さに達した場合、前記アプリケーションプログラムのUIプロセスを終了するステップを実行するステップと
を含むことを特徴とする請求項1又は請求項2に記載のアプリケーションプログラムの処理方法。
【請求項4】
前記アプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、更に、
バックグラウンドで実行するその他のUIプロセスの数を確定するステップと、
前記その他のUIプロセスの数が予め設定した数に達した場合、前記アプリケーションプログラムのUIプロセスを終了するステップを実行するステップと
を含むことを特徴とする請求項1又は請求項2に記載のアプリケーションプログラムの処理方法。
【請求項5】
ユーザインタフェースのUIプロセスと論理的なプロセスとを含むアプリケーションプログラムを、フォアグラウンド実行からバックグラウンド実行に切り替えるための第一切替ユニットと
前記第一切替ユニットがアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、前記アプリケーションプログラムのUIプロセスを終了するための終了ユニットと、
前記第一切替ユニットがアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、前記アプリケーションプログラムの論理的なプロセスを引き続き実行するための実行ユニットと
前記第一切替ユニットがアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替える前に、前記アプリケーションプログラムが起動する時、前記アプリケーションプログラムの設定ファイルにおける論理的なプロセスマーク及び/又はUIプロセスマークを読み取るための読取ユニットと、
前記読取ユニットが読み取った前記論理的なプロセスマーク及び/又はUIプロセスマークに基づいて、前記アプリケーションプログラムに含まれるそれぞれのサブプログラムに対しプロセスタイプの分類を行うための分類ユニットと、
前記分類ユニットより分類された前記プロセスタイプに基づいて、前記UIプロセス及び前記論理的なプロセスを作成するための作成ユニットとを備え、
前記プロセスタイプは、UIタイプと論理的なタイプとを含み、
前記UIプロセスにおいて、前記UIタイプのサブプログラムが実行され、前記論理的なプロセスにおいて、前記論理的なタイプのサブプログラムが実行される
ことを特徴とするアプリケーションプログラムの処理装置。
【請求項6】
更に、
前記アプリケーションプログラムをバックグラウンド実行からフォアグラウンド実行に切り替えるための第二切替ユニットと、
第二切替ユニットが前記アプリケーションプログラムをバックグラウンド実行からフォアグラウンド実行に切り替えた後、前記論理的なプロセスに基づいて前記UIプロセスを改めて作成するための再生ユニットと
を備えることを特徴とする請求項に記載のアプリケーションプログラムの処理装置。
【請求項7】
更に、
前記第一切替ユニットがアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、前記アプリケーションプログラムがバックグラウンドで実行する時間の長さを確定するための第一確定ユニットを備え、
前記終了ユニットは、前記第一切替ユニットが確定した時間の長さが予め設定した時間の長さに達した場合、前記アプリケーションプログラムのUIプロセスを終了する
ことを特徴とする請求項5又は請求項6に記載のアプリケーションプログラムの処理装置。
【請求項8】
更に、
前記第一切替ユニットがアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、バックグラウンドで実行するその他のUIプロセスの数を確定するための第二確定ユニットを備え、
前記終了ユニットは、前記第二確定ユニットが確定した前記その他のUIプロセスの数が予め設定した数に達した場合、前記アプリケーションプログラムのUIプロセスを終了する
ことを特徴とする請求項5又は請求項6に記載のアプリケーションプログラムの処理装置。
【請求項9】
プロセッサに実行されることにより、請求項1から請求項のいずれかに記載のアプリケーションプログラムの処理方法を実現する記録媒体に記録されたプログラム。
【請求項10】
請求項に記載のプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2014年5月14日に中国専利局に提出した、出願番号が201410203339.1であり、発明の名称が「アプリケーションプログラムの処理方法及び装置」である中国特許出願の優先権を主張し、当該中国特許出願の全部の内容を本願に援用する。
本発明は電子端末分野に関して、特にアプリケーションプログラムの処理方法装置、プログラム及び記憶媒体に関する。
【背景技術】
【0002】
現在、携帯電話、pad等の電子端末に向きのアプリケーションプログラムが非常に多く、一つの電子端末において複数のアプリケーションプログラムが同時に実行されることがよくある。アプリケーションプログラムの実行は二つの形式を含む。一つはフォアグラウンド実行であり、即ち、スクリーンに表示されるウィンドウ又はインタフェース上において直接に実行し、プログラムの実行中の現在のインタフェースが現れ、表示されているインタフェースを通じて電子端末のユーザとインタラクティブする。もう一つの形式はバックグラウンド実行であり、即ち、スクリーンには、アプリケーションプログラムを実行するインタフェースが現れないが、当該アプリケーションプログラムはサービスの提供を続け、いつでもフォアグラウンドに切り替えて現れることが可能である。
【0003】
電子端末の実際の使用過程において、アプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替える必要がよくある。例えば、ユーザが音楽アプリケーションを開き、音楽再生し始め、この時、音楽アプリケーションのプロセスは当該音楽アプリケーションのUI(User Interface、ユーザインタフェース)を算出し、表示する。インタフェースの内容は、再生制御ボタン、レコードの表紙、歌情報及びスクロールする歌詞等を含むことができる。この時、ユーザは音楽アプリケーションをバックグラウンドに切り替えて実行し、またバックアップアプリケーションを開いて、端末データのバックアップを始める。バックアップアプリケーションのプロセスも、バックアップ制御ボタン及びバックアップ進度を含むUIを算出して表示する。ユーザは、バックアップを行いながら、メインページに切り替えてその他の操作を行うこともできるが、ここでは一つ一つ例示しない。
【0004】
このような状況に対する、関連技術における処理方法は、アプリケーションプログラムをバックグラウンドに切り替えて実行する場合、フォアグラウンド実行時と同じようにプロセスを引き続き実行し、アプリケーションプログラムのデータ、サービス及びUI全てを、フォアグラウンド実行時と同じように引き続き処理し、単にUIを隠すことのみである。当該アプリケーションプログラムをフォアグラウンドに再度切り替えて実行する際、UIを表示する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
前記アプリケーションプログラムの処理過程において、少なくとも以下のような問題が存在する。アプリケーションプログラムをバックグラウンド実行に切り替えた後、フォアグラウンド実行時と同じプロセスをそのまま実行し、大量の処理資源を占有する。また、実際において、ユーザはバックグラウンドプログラムのUIには関心がない。従って、このような処理の方法は処理資源の無駄を招き、資源を利用する効率が低い。
関連技術に存在する問題を解決するため、本発明は、電子端末の処理資源を有効に節約し、資源の利用効率を上げることができるアプリケーションプログラムの処理方法装置、プログラム及び記憶媒体を提供する。
【課題を解決するための手段】
【0006】
本発明の実施例の第一の態様によれば、
ユーザインタフェースのUIプロセスと論理的なプロセスとを含むアプリケーションプログラムを、フォアグラウンド実行からバックグラウンド実行に切り替えるステップと、
前記アプリケーションプログラムのUIプロセスを終了し、前記アプリケーションプログラムの論理的なプロセスを引き続き実行するステップとを含むアプリケーションプログラムの処理方法を提供する。
【0007】
本発明の実施例の第二の態様によれば、
ユーザインタフェースのUIプロセスと論理的なプロセスとを含むアプリケーションプログラムを、フォアグラウンド実行からバックグラウンド実行に切り替えるための第一切替ユニットと
前記第一切替ユニットがアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、前記アプリケーションプログラムのUIプロセスを終了するための終了ユニットと、
前記第一切替ユニットがアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、前記アプリケーションプログラムの論理的なプロセスを引き続き実行するための実行ユニットとを備えるアプリケーションプログラムの処理装置を提供する。
本発明の実施例の第三の態様によれば、プロセッサに実行されることにより、前記アプリケーションプログラムの処理方法を実現する記録媒体に記録されたプログラムを提供する。
本発明の実施例の第四の態様によれば、前記プログラムが記録された記録媒体を提供する。
【発明の効果】
【0008】
本発明の実施例が提供する技術方案は以下のような有益な効果を含むことができる。アプリケーションプログラムのUIプロセスと論理的なプロセスを分けて単独で実行することで、アプリケーションプログラムをバックグラウンドに切り替えて実行する場合、ユーザが必要とする論理的なプロセスを引き続き実行し、ユーザの関心がないUIプロセスを終了する。関連技術における、アプリケーションプログラムの実行を全て一つのプロセスに集中して実行し、バックグラウンドでもアプリケーションプログラムの全てのプロセスを引き続き実行する方法に比べると、アプリケーションプログラムをバックグラウンドに切り替えて実行する場合、UI算出が占有するCPU処理資源とメモリ空間を節約でき、これにより、複数のアプリケーションプログラムが同時に実行する場合の電子端末の消費電力を削減し、節電の目的を果たすことができる。また、電子端末のCPU処理資源の無駄をなくしたので、資源利用の効率を上げただけでなく、電子端末の発熱を効果的に減少することもできる。
【0009】
以上の一般な説明及び以下の詳細な説明は単なる例示及び解釈に過ぎず、本発明を限定するものではないことを理解すべきである。
ここでの図面は明細書に取り込まれて本明細書の一部分を構成し、本発明に合致する実施例を示し、明細書と共に本発明の原理の解釈に用いられる。
【図面の簡単な説明】
【0010】
図1】一つの例示的な実施例にかかるアプリケーションプログラムの処理方法のフローチャートである。
図2】一つの例示的な実施例にかかるもう一つのアプリケーションプログラムの処理方法のフローチャートである。
図3】一つの例示的な実施例にかかるまた一つのアプリケーションプログラムの処理方法のフローチャートである。
図4】一つの例示的な実施例にかかるまた一つのアプリケーションプログラムの処理方法のフローチャートである。
図5】一つの例示的な実施例にかかるまた一つのアプリケーションプログラムの処理方法のフローチャートである。
図6】アプリケーションプログラムの処理装置のブロック図である。
図7】もう一つのアプリケーションプログラムの処理装置のブロック図である。
図8】また一つのアプリケーションプログラムの処理装置のブロック図である。
図9】また一つのアプリケーションプログラムの処理装置のブロック図である。
図10】また一つのアプリケーションプログラムの処理装置のブロック図である。
図11】一つの例示的な実施例にかかるアプリケーションプログラムの処理装置のブロック図である。
図12】一つの例示的な実施例にかかるもう一つのアプリケーションプログラムの処理装置のブロック図である。
【発明を実施するための形態】
【0011】
ここで例示的な実施例について詳細に説明を行うが、その例示は図面において示されている。以下の説明が図面に関する場合、特に示さない限り、異なる図面の中の同一の数字は同一又は類似の要素を表す。また、以下の例示的な実施例で説明する実施形態は、本発明と一致する全ての実施形態を代表するものではなく、これらは特許請求の範囲において詳述した、本発明の一部の態様と一致する装置及び方法の例に過ぎない。
【0012】
図1は一つの例示的な実施例にかかるアプリケーションプログラムの処理方法のフローチャートであり、図1に示すように、アプリケーションプログラムの処理方法は端末に使われ、以下のようなステップを含む。
ステップS11において、アプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替える。ここで、前記アプリケーションプログラムのプロセスは、UIプロセスと論理的なプロセスとを含む。
【0013】
本発明において、アプリケーションプログラムの実行過程において、関連技術のアプリケーションプログラムの実行方法との相違点は、一般的に、関連技術において、一つのアプリケーションプログラムは一つのプロセスのみ有し、また、プロセスにはサービス、データ、アルゴリズム及びUIのサブプログラムが混ざっている。しかしながら、本発明において、アプリケーションプログラムのプログラムコードの中の一部は、アプリケーションプログラムのサービス、データ又はアルゴリズムと関連するサブプログラムであり、これらのサブプログラムを論理的なプロセスに組み入れて実行することができる。アプリケーションプログラムの他のプログラムコードは、コアのサービス、データ又はアルゴリズムへの影響が少なく、通常はUI関連のサブプログラムであり、これらのサブプログラムはUIプロセスに組み入れて実行することができる。
【0014】
例えば、音楽アプリケーションプログラムにおける、再生制御ボタン、レコードの表紙、音楽情報及びスクロールする歌詞等を全てUIプロセスに分類して実行することにより、バックグラウンドに切り替えられた場合、これらのプログラムを終了することができる。一方で、音楽の再生、音楽データのダウンロード等のアプリケーションプログラムのサービスプログラムを論理的なプロセスに分類して実行し、バックグラウンドに切り替えられても引き続き実行することができる。類似的に、ラジオアプリケーション、バックアップアプリケーション、株式アプリケーション及び天気アプリケーション等の多くのアプリケーションは、全て類似の方法で、プログラムをUIプロセスと論理的なプロセスに分類した後、それぞれ単独で実行することができる。
【0015】
ステップS12において、前記アプリケーションプログラムのUIプロセスを終了し、前記アプリケーションプログラムの論理的なプロセスを引き続き実行する。
ここで、本発明はS11において説明したようなUIプロセスと論理的なプロセスを分けて単独で実行する方法を採用することで、バックグラウンドに切り替えて実行する場合、この二つのプロセスを区別して取り扱うことができる。一方で、ユーザはアプリケーションプログラムをフォアグラウンドからバックグラウンドに切り替えて実行するため、当該アプリケーションプログラムは閉じられることはない。従って、端末の完全なアプリケーション機能を保持するため、バックグラウンドで実行されるアプリケーションプログラムは依然として相応のサービスを引き続き提供し、即ち前記アプリケーションプログラムにおける対応する論理的なプロセスを引き続き実行する。もう一方で、その他のインタフェースを表示するか、又は画面を閉じるために、ユーザはアプリケーションプログラムをバックグラウンドに切り替えるので、バックグラウンドで実行されるアプリケーションプログラムのUIインタフェースを感知することができない。しかしながら、これらのUIインタフェースの算出が占有する処理資源が比較的多く、論理的なプロセスの数倍になることもある。従って、占有する資源を減らすため、バックグラウンド実行時に、UIインタフェースについて算出を行わず、即ちUIプロセスを終了する。
【0016】
更に、図2はもう一つの例示的な実施例にかかるアプリケーションプログラムの処理方法のフローチャートであり、図2に示すように、更に、当該方法は以下のステップを含むことができる。
ステップS13において、前記アプリケーションプログラムをバックグラウンドからフォアグラウンドに切り替えて実行する場合、前記論理的なプロセスに基づいて、前記UIプロセスを改めて作成する。
【0017】
ここで、バックグラウンド実行時にUIプロセスを終了したが、フォアグラウンドに切り替えて実行する際、タイムリー且つ正確にアプリケーションプログラムのUIインタフェースを表示しなければならない。フォアグラウンドに切り替えて実行する際、UIプロセスを改めて起動し、UIプロセスは完全に自己復元する。改めて開いた後、まず論理的なプロセスの状態にアクセスし、現在の論理的なプロセスに対応するUIインタフェースを算出する。
【0018】
更に、図3はもう一つの例示的な実施例にかかるアプリケーションプログラムの処理方法のフローチャートであり、図3に示すように、更に、当該方法はステップS11の前に、以下のステップを含むことができる。
ステップS14において、前記アプリケーションプログラムを起動する時、前記アプリケーションプログラムの設定ファイルにおける論理的なプロセスマーク及び/又はUIプロセスマークを読み取る。
【0019】
ここで、アプリケーションプログラムの開発過程において、開発者は、当該アプリケーションプログラムの設定ファイルに相応するマーク(識別子)をつけ、本発明の論理的なプロセスとUIプロセスを分離するやり方を満たす。マークする方法は、例えば、サーバ、データ等に「process」又は「logic」とマークするように、終了の許されないプロセスにマークを付けることである。ここで、列挙した「process」又は「logic」は論理的なプロセスのマークとみなすことができ、このように、オペレーティングシステムは当該アプリケーションプログラムを実行する際、「logic」に対応するプログラム全てを論理的なプロセスに集めて実行し、その他のプログラムはUIプロセスに入れて実行することができる。アプリケーションプログラムの設定ファイルの中から、UIと関連するプログラムにUIプロセスマークをつけ、類似的に、UIプロセスマークを有するプログラムをUIプロセスに入れて実行し、その他は、バックグラウンドに切り替えても終了が許されない論理的なプロセスとして実行する。または、UIと関連するプログラムにUIプロセスマークをつけ、且つ論理と関連するプログラムに論理的なプロセスマークをつけることもでき、本発明の実施例はこれについて限定しない。
【0020】
ステップS15において、前記論理的なプロセスマーク及び/又はUIプロセスマークに基づいて、前記アプリケーションプログラムに含まれるそれぞれのサブプログラムに対しプロセスタイプの分類(区画)を行う。ここで、前記プロセスタイプは、UIタイプと論理的なタイプとを含む。
例えば、音楽アプリケーションプログラムを例にすると、当該アプリケーションプログラムの設定ファイル名は「AndroidManifest.xml」であり、その中の要素は、アクティビティー(Activity)、サービス(Service)、プロバイダ(Provider)及びレシーバ(Receiver)を含む。
【0021】
ここで、それぞれの要素の簡単な定義及び分類されたプロセスタイプは、以下の通りである。
1)「Activity」は、例えば、我々が目にする音楽のリスト、再生インタフェース等のような、UIインタフェースの各コンポーネントに対応し、UIプロセスに属する。
2)「Service」は、バックグラウンドの再生サービスであり、論理的なプロセスに属する。
3)「Provider」は、例えば、今の音楽及び音楽の作者等のような、音楽のデータであり、論理的なプロセスに属する。
4)「Receiver」は、例えば、ある歌のダウンロードが完了した後、再生を始めることのような、システムの放送を受信した後、トリガーされる動作であり、論理的なプロセスに属する。
【0022】
ステップS16において、分類された前記プロセスタイプに基づいて、前記UIプロセス及び前記論理的なプロセスを実行する。ここで、前記UIプロセスにおいて、前記UIタイプのサブプログラムを実行し、前記論理的なプロセスにおいて、前記論理的なタイプのサブプログラムを実行する。
ここで、S15において分類された結果に基づいて、UIタイプに属するサブプログラムを単独で実行するためのUIプロセスを確立し、論理的なタイプに属するサブプログラムを単独で実行するための論理的なプロセスを確立する。例えば、一つの音楽アプリケーションにおける全ての「Activity」要素を一つのUIプロセスにおいて実行し、「Service」、「Provider」及び「Receiver」要素を全て一つの論理的なプロセスに組み入れて実行する。
【0023】
ここで、ステップS15が実現される場合、即ちアプリケーションプログラムの設定ファイルにおいて、バックグラウンド実行時に終了が許されるサブプログラムとバックグラウンド実行時に終了が許されないサブプログラムが具体化される場合、本発明の実施例の方法を採用すると、処理資源を効果的に節約することができるということを説明しなければならない。しかしながら、アプリケーションプログラムの開発業者の数は多く、それぞれのアプリケーションプログラムの設定ファイルが全て本発明のUIプロセスと論理的なプロセスとに分離されるというやり方に合致することを確保できない。更に、アプリケーションプログラムに必要なバックグラウンドプログラムを終了してアプリケーションプログラム機能の正常な使用に影響することを避けるために、本実施例は特徴的な処理方法を採用することもできる。例えば、UIプロセスと論理的なプロセスとを分離するやり方に合致するアプリケーションプログラムに対し、バックグラウンド実行時に、そのUIプロセスを終了し、UIプロセスと論理的なプロセスとを分離するやり方に合致しないアプリケーションプログラムに対し、バックグラウンド実行時に、その相応のプログラムを引き続き実行する。
【0024】
更に、好ましい実現方法において、図4に示すように、フローにおけるインタフェースの切り替えを確保し、UIプロセスが頻繁に終了及び再起動することを防ぐために、バックグラウンドに下がって実行した後で、且つUIプロセスを終了する前に、時間に対する判断条件を追加することができる。具体的には、当該方法は更に、ステップS11の後に、前記アプリケーションプログラムがバックグラウンドで実行する時間の長さが予め設定した(予定された)時間の長さに達するか否かを確定するステップS17を含むことができる。
【0025】
ここで、前記アプリケーションプログラムがバックグラウンドで実行する時間の長さが予め設定した時間の長さに達した場合、ステップS12を実行する。また、前記アプリケーションプログラムがバックグラウンドで実行する時間の長さが予め設定した時間の長さに達していなかった場合、ステップS17を引き続き実行する。アプリケーションプログラムをバックグラウンドに切り替え、且つ計時し始めてから、予め設定した時間の長さに達しないままフォアグラウンドに戻って実行したら、計時を終了してもよく、バックグラウンドに再度移行して実行する場合は、改めて計時し始めることができるということが理解できる。前記予め設定した時間の長さは、アプリケーションプログラムの開発過程において予め配置してもよく、ユーザが設定してもよい。例えば、予め設定した時間の長さは5秒又は10秒等でもよい。
【0026】
もう一つの好ましい実現方法において、図5に示すように、バックグラウンドのUIプロセスを終了するか否かを判断する条件として、時間の長さのほかに、他の判断条件を採用することもできる。具体的には、当該方法は更に、ステップS11の後、以下のステップを含むことができる。
ステップS18において、バックグラウンドで実行するその他のUIプロセスの数が予め設定した数に達するか否かを確定する。
【0027】
ここで、前記その他のUIプロセスの数が予め設定した数に達した場合、ステップS12を実行する。現在フォアグラウンドおよびバックグラウンドで実行するUIプロセスの数が予め設定した数に達していなかった場合、処理資源の使用可能な空間が比較的に十分であるとみなすことができ、ステップS19を実行する。前記予め設定した数は、アプリケーションプログラムの開発過程において予め設定してもよく、ユーザが設定してもよい。例えば、予め設定した数は5又は10等でもよい。
【0028】
ステップS19において、バックグラウンドで前記アプリケーションプログラムのUIプロセスと論理的なプロセスを引き続き実行する。
ここで、現在フォアグラウンドおよびバックグラウンドで実行するUIプロセスの数が予め設定した数に達していないので、アプリケーションプログラムのUIプロセスを終了せず、バックグラウンドで実行する時に依然としてUIプロセスと論理的なプロセスを同時に実行することもできる。後続してバックグバックグラウンドで実行するUIプロセスが予め設定した数に達した場合、処理資源を占有しすぎないように、ラウンドに追加して実行するアプリケーションプログラムのUIプロセスを終了することができる。
【0029】
本発明の実施例が提供するアプリケーションプログラムの処理方法は、アプリケーションプログラムのUIプロセスと論理的なプロセスを分けて単独で実行することで、アプリケーションプログラムをバックグラウンドに切り替えて実行する場合、ユーザが必要とする論理的なプロセスを引き続き実行し、ユーザが関心のないUIプロセスを終了することができる。従って、関連技術における、アプリケーションプログラムの実行を全て一つのプロセスに集中して実行し、バックグラウンドでもアプリケーションプログラムの全てのプロセスを引き続き実行する方法に比べると、アプリケーションプログラムがバックグラウンドに切り替えて実行する場合、UI算出が占有するCPU処理資源とメモリ空間を節約でき、これにより、複数のアプリケーションプログラムが同時に実行する場合の電子端末の消費電力を削減し、節電の目的を果たすことができる。また、電子端末のCPU処理資源の無駄をなくしたので、資源利用の効率を上げただけでなく、電子端末の発熱を効果的に減少することもできる。
【0030】
図6は一つの例示的な実施例にかかるアプリケーションプログラムの処理装置200のブロック図である。図6に示すように、当該装置200は、第一切替ユニット201、終了ユニット202及び実行ユニット203を備える。
当該第一切替ユニット201は、アプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えるように構成されている。ここで、前記アプリケーションプログラムのプロセスは、ユーザインタフェースのUIプロセスと論理的なプロセスとを含む。
【0031】
当該終了ユニット202は、前記第一切替ユニット201がアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、前記アプリケーションプログラムのUIプロセスを終了するように構成される。
実行ユニット203は、前記第一切替ユニット201がアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、前記アプリケーションプログラムの論理的なプロセスを引き続き実行するように構成される。
【0032】
更に、図7に示すように、更に、当該装置200は第二切替ユニット204と再生ユニット205とを備える。
第二切替ユニット204は、前記アプリケーションプログラムをバックグラウンド実行からフォアグラウンド実行に切り替える。
再生ユニット205は、第二切替ユニット204が前記アプリケーションプログラムをバックグラウンド実行からフォアグラウンド実行に切り替えた後、前記論理的なプロセスに基づいて前記UIプロセスを改めて作成する。
【0033】
更に、図8に示すように、更に、当該装置200は読取ユニット206、分類ユニット207及び作成ユニット208を備えることができる。
当該読み取りユニット206は、前記第一切替ユニット201がアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替える前に、前記アプリケーションプログラムが起動する時、前記アプリケーションプログラムの設定ファイルにおける論理的なプロセスマーク及び/又はUIプロセスマークを読み取る。
【0034】
当該分類ユニット207は、前記読取ユニット206が読み取った前記論理的なプロセスマーク及び/又はUIプロセスマークに基づいて、前記アプリケーションプログラムに含まれるそれぞれのサブプログラムに対しプロセスタイプの分類を行う。ここで、前記プロセスタイプは、UIタイプと論理的なタイプとを含む。
当該作成ユニット208は、前記分類ユニット207により分類された前記プロセスタイプに基づいて、前記UIプロセス及び前記論理的なプロセスを作成する。ここで、前記UIプロセスにおいて前記UIタイプのサブプログラムが実行され、前記論理的なプロセスにおいて、前記論理的なタイプのサブプログラムが実行される。
【0035】
好ましくは、図9に示すように、一つの実現可能な方法において、当該装置200は更に、
前記第一切替ユニット201がアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、前記アプリケーションプログラムがバックグラウンドで実行する時間の長さを確定するための第一確定ユニット209を備え、
前記終了ユニット202は、前記第一切替ユニット201が確定した時間の長さが予め設定した時間の長さに達した場合、前記アプリケーションプログラムのUIプロセスを終了する。
【0036】
図10に示すように、もう一つの実現可能な方法において、当該装置200は更に、
前記第一切替ユニット201がアプリケーションプログラムをフォアグラウンド実行からバックグラウンド実行に切り替えた後、バックグラウンドで実行するその他のUIプロセスの数を確定するための第二確定ユニット210を備え、
前記終了ユニット202は、前記第二確定ユニット210が確定した前記その他のUIプロセスの数が予め設定した数に達した場合、前記アプリケーションプログラムのUIプロセスを終了する。
【0037】
上述した実施例の装置において、それぞれのモジュールが実行する操作の具体的な方法は既に関連する実施例において詳細な説明を行っており、ここでは繰り返し説明しない。
本発明の実施例が提供するアプリケーションプログラムの処理装置200は、アプリケーションプログラムのUIプロセスと論理的なプロセスを分けて単独で実行することで、アプリケーションプログラムをバックグラウンドに切り替えて実行する場合、ユーザが必要とする論理的なプロセスを引き続き実行し、ユーザが関心のないUIプロセスを終了することができる。従って、関連技術における、アプリケーションプログラムの実行を全て一つのプロセスに集中して実行し、バックグラウンドでもアプリケーションプログラムの全てのプロセスを引き続き実行する方法に比べると、アプリケーションプログラムがバックグラウンドに切り替わって実行する場合、UI算出が占有するCPU処理資源とメモリ空間を節約でき、これにより、複数のアプリケーションプログラムが同時に実行する場合の電子端末の消費電力を削減し、節電の目的を果たすことができる。また、電子端末のCPU処理資源の無駄をなくしたので、資源利用の効率を上げただけでなく、電子端末の発熱を効果的に減少することもできる。
【0038】
図11は一つの例示的な実施例にかかる、アプリケーションプログラムに使われる処理装置800のブロック図である。例えば、装置800は、携帯電話、コンピューター、デジタル放送端末、メッセージ送受信デバイス、ゲームコンソール、タブレットデバイス、医療デバイス、健康デバイス、パーソナルデジタルアシスタント等であってもよい。
図8を参照して、装置800は、プロセス部材802、メモリ804、電源部材806、マルチメディア部材808、オーディオ部材810、入出力(I/O)インターフェイス812、センサ部材814、及び通信部材816のような一つ以上の部材を含んでよい。
【0039】
プロセス部材802は、一般的には装置800の全体の操作を制御するものであり、例えば、表示、電話呼び出し、データ通信、カメラ操作、及び記録操作と関連する操作を制御する。プロセス部材802は、一つ以上のプロセッサ820を含み、これらによって命令を実行することにより、上記の方法の全部、或は一部のステップを実現するようにしてもよい。なお、プロセス部材802は、一つ以上のモジュールを含み、これらによってプロセス部材802と他の部材の間のインタラクションを容易にするようにしてもよい。例えば、プロセス部材802は、マルチメディアモジュールを含み、これらによってマルチメディア部材808とプロセス部材802の間のインタラクションを容易にするようにしてもよい。
【0040】
メモリ804は、各種類のデータを記憶することにより装置800の操作を支援するように構成される。これらのデータの例は、装置800において操作されるいずれのアプリケーションプログラム又は方法の命令、連絡対象データ、電話帳データ、メッセージ、画像、ビデオ等を含む。メモリ804は、いずれの種類の揮発性、不揮発性記憶デバイスまたはそれらの組み合わせによって実現されてもよく、例えば、SRAM(Static Random Access Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、EPROM(Erasable Programmable ROM)、PROM(Programmable ROM)、ROM、磁気メモリ、フラッシュメモリ、磁気ディスク、或いは光ディスクである。
【0041】
電源部材806は、装置800の多様な部材に電力を供給する。電源部材806は、電源管理システム、一つ以上の電源、及び装置800のための電力の生成、管理及び割り当てに関連する他の部材を含んでもよい。
マルチメディア部材808は、前記装置800とユーザの間に一つの出力インターフェイスを提供するスクリーンを含む。上記の実施例において、スクリーンは液晶モニター(LCD)とタッチパネル(TP)を含んでもよい。スクリーンがタッチパネルを含むことにより、スクリーンはタッチスクリーンを実現することができ、ユーザからの入力信号を受信することができる。タッチパネルは一つ以上のタッチセンサを含んでおり、タッチ、スライド、及びタッチパネル上のジェスチャを検出することができる。前記タッチセンサは、タッチ、或はスライドの動作の境界だけでなく、前記のタッチ、或はスライド操作に係る継続時間及び圧力も検出できる。上記の実施例において、マルチメディア部材808は、一つのフロントカメラ、及び/又はリアカメラを含む。装置800が、例えば撮影モード、或はビデオモード等の操作モードにある場合、フロントカメラ、及び/又はリアカメラは外部からマルチメディアデータを受信できる。フロントカメラとリアカメラのそれぞれは、一つの固定型の光レンズ系、或は可変焦点距離と光学ズーム機能を有するものであってもよい。
【0042】
オーディオ部材810は、オーディオ信号を入出力するように構成されてもよい。例えば、オーディオ部材810は、一つのマイク(MIC)を含み、装置800が、例えば呼出しモード、記録モード、及び音声認識モード等の操作モードにある場合、マイクは外部のオーディオ信号を受信することができる。受信されたオーディオ信号は、さらにメモリ804に記憶されたり、通信部材816を介して送信されたりされる。上記の実施例において、オーディオ部材810は、オーディオ信号を出力するための一つのスピーカーをさらに含む。
【0043】
I/Oインターフェイス812は、プロセス部材802と周辺インターフェイスモジュールの間にインターフェイスを提供するものであり、上記周辺インターフェイスモジュールは、キーボード、クリックホイール、ボタン等であってもよい。これらのボタンは、ホームページボタン、ボリュームボタン、起動ボタン、ロッキングボタンを含んでもよいが、これらに限定されない。
【0044】
センサ部材814は、装置800に各方面の状態に対する評価を提供するための一つ以上のセンサを含む。例えば、センサ部材814は、装置800のON/OFF状態、装置800のディスプレイと小さなキーパッドのような部材の相対的な位置決めを検出できる。また、例えば、センサ部材814は、装置800、或は装置800の一つの部材の位置変更、ユーザと装置800とが接触しているか否か、装置800の方位、又は加速/減速、装置800の温度の変化を検出できる。センサ部材814は、何れの物理的接触がない状態にて付近の物体の存在を検出するための近接センサを含んでもよい。センサ部材814は、撮影アプリケーションに適用するため、CMOS、又はCCDイメージセンサのような光センサを含んでもよい。上記の実施例において、当該センサ部材814は、加速度センサ、ジャイロスコープセンサ、磁気センサ、圧力センサ、及び温度センサをさらに含んでもよい。
【0045】
通信部材816は、装置800と他の機器の間に有線、又は無線形態の通信を提供する。装置800は、例えばWiFi(登録商標)、2G、3G、或はこれらの組み合わせのような、通信規格に基づいた無線ネットワークに接続されてもよい。一つの例示的な実施例において、通信部材816は、放送チャンネルを介して外部の放送管理システムからの放送信号、又は放送に関連する情報を受信する。一つの例示的な実施例において、前記通信部材816は、近距離無線通信(NFC)モジュールをさらに含むことにより、近距離通信を推進するようにする。例えば、NFCモジュールは、RFID(Radio Frequency Identification)技術、IrDA(Infrared Data Association)技術、UWB(Ultra WideBand)技術、BT(Bluetooth(登録商標))技術、他の技術に基づいて実現できる。
【0046】
例示的な実施例において、装置800は、一つ以上のASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、DSPD(Digital Signal Processing Device)、PLD(Programmable Logic Device)、FPGA(Field-Programmable Gate Array)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子部品によって実現されるものであり、上記方法を実行する。
【0047】
例示的な実施例において、さらに、命令を含むコンピュータ読取り可能な非一時的な記録媒体、例えば命令を含むメモリ804を提供しており、装置800のプロセッサ820により上記命令を実行して上記方法を実現する。例えば、前記コンピュータ読取り可能な非一時的な記録媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ記憶デバイス等である。
【0048】
図12は一つの例示的な実施例にかかるアプリケーションプログラムの処理装置1900のブロック図である。例えば、装置1900はサーバである可能性がある。図12に示すように、装置1900は、一つ又は複数のプロセッサを有する処理ユニット1922、及びメモリ1932を代表とする記憶装置を備える。当該記憶装置は、例えばアプリケーションプログラムのような、処理ユニット1922によって実行されるコマンドを記憶する。メモリ1932に記憶されるアプリケーションプログラムは、一つ又は複数の、それぞれが一組のコマンドに対応するモジュールを含むことができる。また、処理ユニット1922はコマンドを実行するように構成され、上記のアプリケーションプログラムの処理方法を実行する。
【0049】
装置1900は更に、装置1900の電源の管理を実行するように構成される電源ユニット1926、装置1900をネットワークに接続するように構成される一つの有線又は無線ネットワークインタフェース1950及び一つの入力/出力(I/O)インタフェース1958を備える。装置1900はメモリ1932に記憶された、例えばWindous(登録商標) Server、Mac 0S(登録商標) X、Unix(登録商標)、Linux(登録商標)、FreeBSD(登録商標)又は類似のオペレーティングシステムに基づいて動作することができる。
【0050】
当業者は明細書を検討し、ここで開示した発明を実践した後、本発明のその他の実施方案を容易に思いつくことができる。本願は本発明の全ての変更、用途又は適応性の変化を含む。これらの変更、用途又は適応性の変化は本発明の一般的な原理に従っており、本発明に未開示の本技術分野における周知技術又は慣用技術手段を含む。明細書及び実施例は例示的なものに過ぎず、本発明の真の範囲及び主旨は以下の特許請求の範囲によって示される。
【0051】
本発明は、上記で説明した、また図面において示した寸分違わぬ構成に限定されず、その範囲を逸脱しない前提のもとで種々の変更及び修正を行うことができることを理解すべきである。本発明の範囲は付された特許請求の範囲によってのみ限定される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12