(57)【要約】  本開示は、バックグラウンドアプリケーションを制御する方法および装置ならびに端末装置に関する。該方法は、オペレーティングシステムで実行中のアプリケーションにしたがって、アプリケーションリストを作成するステップと、アプリケーションリスト内の識別情報を走査するステップと、走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するステップと、走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションである場合、所定のホワイトリストに走査中の識別情報が含まれるかどうかと、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定するステップと、所定のホワイトリストに走査中の識別情報が含まれており、上記数が上記所定の閾値を超えている場合、アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、選択した識別情報に対応するバックグラウンドアプリケーションを終了するステップと、所定のホワイトリストに走査中の識別情報が含まれておらず、上記数が上記所定の閾値を超えている場合、走査中の識別情報に対応するアプリケーションを終了するステップとを含む。本技術的解決手法によって、バックグラウンドアプリケーションを適切に制御することができる。
2016538663.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムで実行中のアプリケーションにしたがって、前記オペレーティングシステムで実行中の前記アプリケーションの識別情報を少なくとも含むアプリケーションリストを作成するステップと、
前記アプリケーションリスト内の識別情報を走査するステップと、
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するステップと、
前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションである場合、ユーザが指定したバックグラウンドアプリケーションの識別情報を含む所定のホワイトリストに前記走査中の識別情報が含まれるかどうかと、前記アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定するステップと、
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えている場合、前記アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、前記選択した識別情報に対応する前記バックグラウンドアプリケーションを終了するステップと、
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するステップと
を含む、バックグラウンドアプリケーションを制御する方法。
【請求項２】
前記オペレーティングシステムで実行中のアプリケーションにしたがってアプリケーションリストを作成するステップは、
前記オペレーティングシステムで実行中の前記アプリケーションの実行状態の優先度を算出するステップであって、前記実行状態の優先度は、高いものから低いものへ、順に、フォアグラウンド、可視、可感知、バックグラウンドとなっている、ステップと、
前記実行中のアプリケーションの前記識別情報を、前記実行状態の優先度にしたがって高いものから低いものへ順に配列して前記アプリケーションリストを得るステップと
を含む、請求項１に記載の方法。
【請求項３】
前記走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するステップは、
前記走査中の識別情報に対応する前記アプリケーションの実行状態の優先度を取得するステップと、
前記走査中の識別情報に対応する前記アプリケーションの前記実行状態の優先度がバックグラウンドである場合に、前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションであると判定するステップと
を含む、請求項２に記載の方法。
【請求項４】
前記アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択するステップは、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する１つ以上の識別情報を見つけるステップと、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する少なくとも１つの識別情報が見つかった場合、前記１つ以上の識別情報のうちの１つを選択するか、前記１つ以上の識別情報から前記走査中の識別情報に最も近い識別情報を選択するステップと、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する識別情報が見つからなかった場合、前記走査中の識別情報を選択するステップと
を含む、請求項２または３に記載の方法。
【請求項５】
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するステップと、
前記休止時間が第１所定時間を超えているかどうかを判定するステップと、
前記休止時間が前記第１所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するステップと
をさらに含む、請求項１に記載の方法。
【請求項６】
前記休止時間が前記第１所定時間を超えていない場合に、前記休止時間が第２所定時間を超えているかどうかを検知するステップと、
前記休止時間が前記第２所定時間を超えている場合に、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放するステップと
をさらに含み、前記第２所定時間は前記第１所定時間よりも短い、請求項５に記載の方法。
【請求項７】
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するステップと、
前記休止時間が第３所定時間を超えているかどうかを判定するステップと、
前記休止時間が前記第３所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放するステップと
をさらに含む、請求項１に記載の方法。
【請求項８】
前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するステップは、
前記走査中の識別情報に対応する前記アプリケーションの処理が、前記オペレーティングシステムの他の処理と相互作用しない時間を計測するステップと、
前記時間を前記休止時間とするステップと
を含む、請求項５〜７のいずれかに記載の方法。
【請求項９】
オペレーティングシステムで実行中のアプリケーションにしたがって、前記オペレーティングシステムで実行中の前記アプリケーションの識別情報を少なくとも含むアプリケーションリストを作成するように構成された作成ユニットと、
前記アプリケーションリスト内の前記識別情報を走査するように構成された走査ユニットと、
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するように構成された第１判定ユニットと、
前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションである場合、ユーザが指定したバックグラウンドアプリケーションの識別情報を含む所定のホワイトリストに前記走査中の識別情報が含まれるかどうかと、前記アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定するように構成された第２判定ユニットと、
第１終了ユニットであって、
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えている場合、前記アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、前記選択した識別情報に対応する前記バックグラウンドアプリケーションを終了し、
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するように構成された第１終了ユニットと
を備える、バックグラウンドアプリケーションを制御する装置。
【請求項１０】
前記作成ユニットは、
前記オペレーティングシステムで実行中の前記アプリケーションの実行状態の優先度を算出するように構成された算出サブユニットであって、前記実行状態の優先度は、高いものから低いものへ、順に、フォアグラウンド、可視、可感知、バックグラウンドとなっている、算出サブユニットと、
前記実行中のアプリケーションの前記識別情報を、前記実行状態の優先度にしたがって高いものから低いものへ順に配列して前記アプリケーションリストを得るように構成された配列サブユニットと
を備える、請求項９に記載の装置。
【請求項１１】
前記第１判定ユニットは、
前記走査中の識別情報に対応する前記アプリケーションの実行状態の優先度を取得するように構成された取得サブユニットと、
前記走査中の識別情報に対応する前記アプリケーションの前記実行状態の優先度がバックグラウンドである場合に、前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションであると判定するように構成された第１判定サブユニットと
を備える、請求項１０に記載の装置。
【請求項１２】
前記第１終了ユニットは、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する１つ以上の識別情報を見つけるように構成された発見サブユニットと、
選択サブユニットであって、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する少なくとも１つの識別情報が見つかった場合、前記１つ以上の識別情報のうちの１つを選択するか、前記１つ以上の識別情報から前記走査中の識別情報に最も近い識別情報を選択し、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する識別情報が見つからなかった場合、前記走査中の識別情報を選択するように構成された選択サブユニットと
を備える、請求項１０または１１に記載の装置。
【請求項１３】
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するように構成された第１取得ユニットと、
前記休止時間が第１所定時間を超えているかどうかを判定するように構成された第３判定ユニットと、
前記休止時間が前記第１所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するように構成された第２終了ユニットと
をさらに備える、請求項９に記載の装置。
【請求項１４】
前記休止時間が前記第１所定時間を超えていない場合に、前記休止時間が第２所定時間を超えているかどうかを検知するように構成された検知ユニットと、
前記休止時間が前記第２所定時間を超えている場合に、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放する第１開放ユニットと
をさらに備え、前記第２所定時間は前記第１所定時間よりも短い、請求項１３に記載の装置。
【請求項１５】
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するように構成された第２取得ユニットと、
前記休止時間が第３所定時間を超えているかどうかを判定するように構成された第４判定ユニットと、
前記休止時間が前記第３所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放するように構成された第２開放ユニットと
をさらに備える、請求項９に記載の装置。
【請求項１６】
前記第１取得ユニットおよび前記第２取得ユニットは、
前記走査中の識別情報に対応する前記アプリケーションの処理が前記オペレーティングシステムの他の処理と相互作用しない時間を計測するように構成された計測サブユニットと、
前記時間を前記休止時間とするように構成された第２判定サブユニットと
を備える、請求項１３〜１５のいずれかに記載の装置。
【請求項１７】
プロセッサと、
前記プロセッサにより実行可能な命令を格納するように構成されたメモリと
を備え、
前記プロセッサは、
オペレーティングシステムで実行中のアプリケーションにしたがって、前記オペレーティングシステムで実行中の前記アプリケーションの識別情報を少なくとも含むアプリケーションリストを作成し、
前記アプリケーションリスト内の識別情報を走査し、
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定し、
前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションである場合、ユーザが指定したバックグラウンドアプリケーションの識別情報を含む所定のホワイトリストに前記走査中の識別情報が含まれるかどうかと、前記アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定し、
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えている場合、前記アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、前記選択した識別情報に対応する前記バックグラウンドアプリケーションを終了し、
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するように構成される、端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、２０１４年８月２９日に出願された中国特許出願第２０１４１０４３６４５５．８号に基づく優先権を主張し、当該出願に記載された全ての記載内容を援用する。
【０００２】
本開示は、端末装置の分野に関し、特にバックグラウンドアプリケーションを制御する方法、バックグラウンドアプリケーションを制御する装置、および端末装置に関する。
【背景技術】
【０００３】
端末装置のインテリジェント化が進むにつれ、アプリケーション（ＡＰＰ）の数が増加し、ユーザは端末装置のインテリジェント化による利便性を享受している。ユーザが端末装置を使用する際、常習的に使用頻度の高いアプリケーションをバックグラウンド実行状態にしていることがある。使用頻度が高いアプリケーションとしては、ツイッター、ＷｅＣｈａｔ、ＱＱなどが挙げられる。端末装置でバックグラウンド実行状態にあるアプリケーションをバックグラウンドアプリケーションと呼ぶことがある。バックグラウンドアプリケーションの数が少ない場合、端末装置において占有されるメモリリソースは少ない。バックグラウンドアプリケーションの数が多い場合は、端末装置において占有されるメモリリソースが多くなり、端末装置の処理速度に影響が出る。したがって、端末装置におけるバックグラウンドアプリケーションの制御の仕方を把握することが重要である。
【０００４】
関連技術においては、以下のようなバックグラウンドアプリケーション制御方法がある。最大閾値を設定し、端末装置によってバックグラウンドアプリケーションの数が最大閾値を超えるかどうかを監視する。バックグラウンドアプリケーションの数が最大閾値以下の場合、各バックグラウンドアプリケーションをバックグラウンド実行状態にしておくことができる。バックグラウンドアプリケーションの数が最大閾値を超える場合、最大メモリを占有しているバックグラウンドアプリケーションを終了することができる。たとえば、最大閾値が２５であり、バックグラウンドアプリケーションの数が２４である場合、各バックグラウンドアプリケーションをバックグラウンド実行状態にすることができる。バックグラウンドアプリケーションの数が２６の場合、最大メモリを占有しているバックグラウンドアプリケーションを終了して、そのメモリを開放することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の方法では、バックグラウンドアプリケーションの数が最大閾値を超えているかどうかを判定することによって、バックグラウンドアプリケーションが終了されたかどうかが判定される。バックグラウンドアプリケーションの数が最大閾値を超えている場合、最大メモリを占有しているバックグラウンドアプリケーションを終了することができる。ユーザが最大メモリを占有しているバックグラウンドアプリケーションを常にバックグラウンド実行状態にしておきたいときは、そのバックグラウンドアプリケーションが終了してしまうと、ユーザエクスペリエンスに影響を及ぼす可能性がある。したがって、上記の方法では、端末装置のバックグラウンドアプリケーションが適切に制御できているとは言えず、ユーザエクスペリエンスに影響が出てしまう。
【０００６】
本開示は、上記関連技術における課題を解決するべく、バックグラウンドアプリケーションを制御する方法、バックグラウンドアプリケーションを制御する装置、および端末装置を提供する。
【課題を解決するための手段】
【０００７】
本開示の実施形態の第１の側面によると、
オペレーティングシステムで実行中のアプリケーションにしたがって、前記オペレーティングシステムで実行中の前記アプリケーションの識別情報を少なくとも含むアプリケーションリストを作成するステップと、
前記アプリケーションリスト内の識別情報を走査するステップと、
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するステップと、
前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションである場合、ユーザが指定したバックグラウンドアプリケーションの識別情報を含む所定のホワイトリストに前記走査中の識別情報が含まれるかどうかと、前記アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定するステップと、
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えている場合、前記アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、前記選択した識別情報に対応する前記バックグラウンドアプリケーションを終了するステップと、
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するステップと
を含む、バックグラウンドアプリケーションを制御する方法が提供される。
【０００８】
第１の側面と組み合わせて、第１の側面の第１の実現可能な具体化態様では、前記オペレーティングシステムで実行中のアプリケーションにしたがってアプリケーションリストを作成するステップは、
前記オペレーティングシステムで実行中の前記アプリケーションの実行状態の優先度を算出するステップであって、前記実行状態の優先度は、高いものから低いものへ、順に、フォアグラウンド、可視、可感知、バックグラウンドとなっている、ステップと、
前記実行中のアプリケーションの前記識別情報を、前記実行状態の優先度にしたがって高いものから低いものへ順に配列して前記アプリケーションリストを得るステップと
を含む。
【０００９】
第１の側面の第１の実現可能な具体化態様と組み合わせて、第１の側面の第２の実現可能な具体化態様では、走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するステップは、
前記走査中の識別情報に対応する前記アプリケーションの実行状態の優先度を取得するステップと、
前記走査中の識別情報に対応する前記アプリケーションの前記実行状態の優先度がバックグラウンドである場合に、前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションであると判定するステップと
を含む。
【００１０】
第１の側面の第１の実現可能な具体化態様または第２の実現可能な具体化態様と組み合わせて、第１の側面の第３の実現可能な具体化態様では、アプリケーションリストからバックグラウンドアプリケーションに対応する識別情報を選択するステップは、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する１つ以上の識別情報を見つけるステップと、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する少なくとも１つの識別情報が見つかった場合、前記１つ以上の識別情報のうちの１つを選択するか、前記１つ以上の識別情報から前記走査中の識別情報に最も近い識別情報を選択するステップと、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する識別情報が見つからなかった場合、前記走査中の識別情報を選択するステップと
を含む。
【００１１】
第１の側面と組み合わせて、第１の側面の第４の実現可能な具体化態様では、前記方法は、
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するステップと、
前記休止時間が第１所定時間を超えているかどうかを判定するステップと、
前記休止時間が前記第１所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するステップと
をさらに含む。
【００１２】
第１の側面の第４の実現可能な具体化態様と組み合わせて、第１の側面の第５の実現可能な具体化態様では、前記方法は、
前記休止時間が前記第１所定時間を超えていない場合に、前記休止時間が第２所定時間を超えているかどうかを検知するステップと、
前記休止時間が前記第２所定時間を超えている場合に、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放するステップと
をさら含み、前記第２所定時間は前記第１所定時間よりも短い。
【００１３】
第１の側面と組み合わせて、第１の側面の第６の実現可能な具体化態様では、前記方法は、
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するステップと、
前記休止時間が第３所定時間を超えているかどうかを判定するステップと、
前記休止時間が前記第３所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放するステップと
をさらに含む。
【００１４】
第１の側面の第４の実現可能な具体化態様、第５の実現可能な具体化態様、または第６の実現可能な具体化態様と組み合わせて、第１の側面の第７の実現可能な具体化態様では、走査中の識別情報に対応するアプリケーションの休止時間を取得するステップは、
前記走査中の識別情報に対応する前記アプリケーションの処理が、前記オペレーティングシステムの他の処理と相互作用しない時間を計測するステップと、
前記時間を前記休止時間とするステップと
を含む。
【００１５】
本開示の実施形態の第２の側面によると、
オペレーティングシステムで実行中のアプリケーションにしたがって、前記オペレーティングシステムで実行中の前記アプリケーションの識別情報を少なくとも含むアプリケーションリストを作成するように構成された作成ユニットと、
前記アプリケーションリスト内の前記識別情報を走査するように構成された走査ユニットと、
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するように構成された第１判定ユニットと、
前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションである場合、ユーザが指定したバックグラウンドアプリケーションの識別情報を含む所定のホワイトリストに前記走査中の識別情報が含まれるかどうかと、前記アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定するように構成された第２判定ユニットと、
第１終了ユニットであって、
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えている場合、前記アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、前記選択した識別情報に対応するバックグラウンドアプリケーションを終了し、
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するように構成される第１終了ユニットと
を備える、バックグラウンドアプリケーションを制御する装置が提供される。
【００１６】
第２の側面と組み合わせて、第２の側面の第１の実現可能な具体化態様では、前記作成ユニットは、
前記オペレーティングシステムで実行中の前記アプリケーションの実行状態の優先度を算出するように構成された算出サブユニットであって、前記実行状態の優先度は、高いものから低いものへ、順に、フォアグラウンド、可視、可感知、バックグラウンドとなっている、算出サブユニットと、
前記実行中のアプリケーションの前記識別情報を、前記実行状態の優先度にしたがって高いものから低いものへ順に配列して前記アプリケーションリストを得るように構成された配列サブユニットと
を備える。
【００１７】
第２の側面の第１の実現可能な具体化態様と組み合わせて、第２の側面の第２の実現可能な具体化態様では、前記第１判定ユニットは、
前記走査中の識別情報に対応する前記アプリケーションの実行状態の優先度を取得するように構成された取得サブユニットと、
前記走査中の識別情報に対応する前記アプリケーションの実行状態の優先度がバックグラウンドである場合に、前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションであると判定するように構成された第１判定サブユニットと
を備える。
【００１８】
第２の側面の第１の実現可能な具体化態様または第２の実現可能な具体化態様と組み合わせて、第２の側面の第３の実現可能な具体化態様では、前記第１終了ユニットは、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する１つ以上の識別情報を見つけるように構成された発見サブユニットと、
選択サブユニットであって、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する少なくとも１つの識別情報が見つかった場合、前記１つ以上の識別情報のうちの１つを選択するか、前記１つ以上の識別情報から前記走査中の識別情報に最も近い識別情報を選択し、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する識別情報が見つからなかった場合、前記走査中の識別情報を選択するように構成された選択サブユニットと
を備える。
【００１９】
第２の側面と組み合わせて、第２の側面の第４の実現可能な具体化態様では、前記装置は、
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するように構成された第１取得ユニットと
前記休止時間が第１所定時間を超えているかどうかを判定するように構成された第３判定ユニットと、
前記休止時間が前記第１所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するように構成された第２終了ユニットと
をさらに備える。
【００２０】
第２の側面の第４の実現可能な具体化態様と組み合わせて、第２の側面の第５の実現可能な具体化態様では、前記装置は、
前記休止時間が前記第１所定時間を超えていない場合に、前記休止時間が第２所定時間を超えているかどうかを検知するように構成された検知ユニットと、
前記休止時間が前記第２所定時間を超えている場合に、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放するように構成された第１開放ユニットと
をさらに備え、前記第２所定時間は前記第１所定時間よりも短い。
【００２１】
第２の側面と組み合わせて、第２の側面の第６の実現可能な具体化態様では、前記装置は、
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するように構成された第２取得ユニットと、
前記休止時間が第３所定時間を超えているかどうかを判定するように構成された第４判定ユニットと、
前記休止時間が前記第３所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放するように構成された第２開放ユニットと
をさらに備える。
【００２２】
第２の側面の第４の実現可能な具体化態様、第５の実現可能な具体化態様、または第６の実現可能な具体化態様と組み合わせて、第２の側面の第７の実現可能な具体化態様では、前記第１取得ユニットおよび前記第２取得ユニットは、
前記走査中の識別情報に対応する前記アプリケーションの処理が前記オペレーティングシステムの他の処理と相互作用しない時間を計測するように構成された計測サブユニットと、
前記時間を前記休止時間とするように構成された第２判定サブユニットと
を備える。
【００２３】
本開示の実施形態の第３の側面によると、
プロセッサと、
前記プロセッサにより実行可能な命令を格納するように構成されたメモリと
を備え、
前記プロセッサは、
オペレーティングシステムで実行中のアプリケーションにしたがって、前記オペレーティングシステムで実行中のアプリケーションの識別情報を少なくとも含むアプリケーションリストを作成し、
前記アプリケーションリスト内の識別情報を走査し、
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定し、
前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションである場合、ユーザが指定したバックグラウンドアプリケーションの識別情報を含む所定のホワイトリストに前記走査中の識別情報が含まれるかどうかと、前記アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定し、
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えている場合、前記アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、前記選択した識別情報に対応する前記バックグラウンドアプリケーションを終了し、
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するように構成される端末装置が提供される。
【発明の効果】
【００２４】
本開示の実施形態で開示する技術的解決手段は、以下の有利な効果を有すると考えられる。終了するバックグラウンドアプリケーションを端末装置によって決定するために、バックグラウンドアプリケーションの数が所定の閾値を超えているかどうかと、所定のホワイトリストに終了するバックグラウンドアプリケーションの識別情報が含まれているかどうかとをいずれも検討する必要がある。所定のホワイトリストにはユーザが指定したバックグラウンドアプリケーションの識別情報が含まれる。すなわち、所定のホワイトリスト内の識別情報に対応するバックグラウンドアプリケーションのいずれについても、ユーザは終了を望まない。走査中の識別情報について、所定のホワイトリストがその走査中の識別情報を含み、バックグラウンドアプリケーションの数が所定の閾値を超えている場合、バックグラウンドアプリケーションが１つ選択され終了される。所定のホワイトリストに走査中の識別情報が含まれておらず、バックグラウンドアプリケーションの数が所定の閾値を超えている場合、その走査中の識別情報に対応するアプリケーションを終了する。ユーザが指定したバックグラウンドアプリケーションが軽率に終了されてしまうことがないため、最大メモリを占有している終了対象のアプリケーションが、ユーザが指定したバックグラウンドアプリケーションになってしまう可能性がある関連技術の方法に比べて、バックグラウンドアプリケーションを適切に制御し、ユーザエクスペリエンスを改善することができる。
【００２５】
上記の一般的な説明および下記の詳細な説明は、いずれも説明を目的とした例示的なものに過ぎず、請求の範囲に記載した本開示を限定するものではないことが理解されるべきである。
【図面の簡単な説明】
【００２６】
本明細書に参照され、また、本明細書の一部を構成する添付の図面は、本開示と整合する実施形態を示し、以下の記述と共に本開示の要旨を説明するものである。
【図１】図１は、本開示の例示的な実施形態に係るバックグラウンドアプリケーションの制御方法を示すフローチャートである。
【図２】図２は、本開示の例示的な実施形態に係るバックグラウンドアプリケーションの別の制御方法を示すフローチャートである。
【図３】図３は、本開示の例示的な実施形態に係るバックグラウンドアプリケーションを制御する装置を示すブロック図である。
【図４】図４は、本開示の例示的な実施形態に係る端末装置を示すブロック図である。
【発明を実施するための形態】
【００２７】
以下に、例示的な実施形態を詳細に説明する。添付の図面は、実施形態の例を示す。以下の説明で言及する図面中で、複数の図面において用いられている同一の符号は、特に記載しない限り、同一あるいは類似の要素を示す。以下の例示的な実施形態の説明に記載する具体化態様は、本開示と整合するすべての具体化態様を示すものではなく、請求項に記載した本開示に関連する側面に従った装置および方法の例示に過ぎない。
【００２８】
図１は、本開示の例示的な実施形態に係るバックグラウンドアプリケーションの制御方法を示すフローチャートである。図１に示すとおり、端末装置において使用される本方法は以下のステップを含む。
【００２９】
ステップ１１において、オペレーティングシステムで実行中のアプリケーションにしたがってアプリケーションリストを作成する。
【００３０】
一般に、端末装置にはオペレーティングシステムがインストールされている。よく使われるオペレーティングシステムとしては、アンドロイドシステム、ウインドウズシステム、ＩＯＳシステムなどが挙げられる。ユーザの様々な要求を満たすために、端末装置には多数のアプリケーションがインストールされていることがある。また、ユーザが必要なアプリケーションをセットアップすることもある。これらのアプリケーションは、端末装置のオペレーティングシステムでしか実行することができない。したがって、バックグラウンドアプリケーションを制御するためにオペレーティングシステムで実行中のアプリケーションにしたがってアプリケーションリストを作成する。アプリケーションリストには、オペレーティングシステムで実行中のアプリケーションの識別情報が含まれる。アプリケーションの識別情報には、アプリケーションの名前やアイコンなどがあるが、これらに限定されない。
【００３１】
アプリケーションリストには、オペレーティングシステムで実行中のアプリケーションの識別情報、最終起動時間、および実行状態の優先度などの情報が含まれる。アプリケーションリストには、オペレーティングシステムで実行中のアプリケーションの識別情報が少なくとも含まれる。
【００３２】
ステップ１２において、アプリケーションリストの識別情報を走査する。
【００３３】
ステップ１３において、走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定する。
【００３４】
アプリケーションリスト内の識別情報が走査されるが、走査対象になっている識別情報を走査中の識別情報とする。本発明は、バックグラウンドアプリケーションを制御することを狙いとするため、走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかをまず判定する。
【００３５】
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションである場合、ステップ１４において、所定のホワイトリストに走査中の識別情報が含まれるかどうかと、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定する。
【００３６】
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションではない場合、ステップ１２を実行する。
【００３７】
所定のホワイトリストには、ユーザが指定したバックグラウンドアプリケーションの識別情報、すなわち、ユーザが終了したくないバックグラウンドアプリケーションの識別情報が含まれる。たとえば、ユーザが指定するバックグラウンドアプリケーションとしては、ＱＱ、ＷｅＣｈａｔ、Ｆｅｔｉｏｎ、Ｂａｉｄｕ  ｍａｐなどが挙げられる。所定のホワイトリストには、ＱＱ、ＷｅＣｈａｔ、Ｆｅｔｉｏｎ、Ｂａｉｄｕ  ｍａｐなどのアプリケーションの識別情報が含むことができる。
【００３８】
所定の閾値は、端末装置のハードウエア構成および実用上の要求に応じて設定することができる。たとえば、所定の閾値は、１０、２０、２５などに設定することができる。
【００３９】
所定のホワイトリストに走査中の識別情報が含まれ、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えている場合、ステップ１５において、アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、選択した識別情報に対応するアプリケーションを終了する。
【００４０】
所定のホワイトリストに走査中の識別情報が含まれ、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えている場合、オペレーティングシステムを正常に実行させ、ユーザエクスペリエンスを良いものにするため、バックグラウンドアプリケーションを１つ選択して終了してもよい。
【００４１】
所定のホワイトリストに走査中の識別情報が含まれておらず、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えている場合、ステップ１６において、走査中の識別情報に対応するアプリケーションを終了する。
【００４２】
所定のホワイトリストに走査中の識別情報が含まれておらず、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えている場合、走査中の識別情報に対応するアプリケーションを直ちに終了することができる。所定のホワイトリストには走査中の識別情報が含まれていないため、すなわち、走査中の識別情報に対応するアプリケーションはユーザが指定したバックグラウンドアプリケーションではないため、走査中の識別情報に対応するアプリケーションを直ちに終了し、メモリリソースを節約し、ユーザエクスペリエンスを改善することができる。
【００４３】
所定のホワイトリストに走査中の識別情報が含まれており、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えていない場合、または、所定のホワイトリストに走査中の識別情報が含まれておらず、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えていない場合、ステップ１２を実行する。
【００４４】
本開示の実施形態に係るバックグラウンドアプリケーションを制御する方法では、終了するバックグラウンドアプリケーションを端末装置によって決定するために、バックグラウンドアプリケーションの数が所定の閾値を超えているかどうかと、所定のホワイトリストに終了するバックグラウンドアプリケーションの識別情報が含まれているかどうかとをいずれも検討する必要がある。ホワイトリストにはユーザが指定したバックグラウンドアプリケーションの識別情報が含まれる。すなわち、ユーザは、所定のホワイトリスト内の識別情報に対応するバックグラウンドアプリケーションのいずれについても終了を望まない。走査中の識別情報について、所定のホワイトリストにその走査中の識別情報が含まれており、バックグラウンドアプリケーションの数が所定の閾値を超えている場合、バックグラウンドアプリケーションを１つ選択して終了する。所定のホワイトリストに走査中の識別情報が含まれておらず、バックグラウンドアプリケーションの数が所定の閾値を超えている場合、走査中の識別情報に対応するアプリケーションを終了する。ユーザが指定したバックグラウンドアプリケーションが軽率に終了されてしまうことがないため、最大メモリを占有している終了対象のバックグラウンドアプリケーションが、ユーザが指定したアプリケーションになってしまう可能性がある関連技術の方法に比べて、バックグラウンドアプリケーションを適切に制御することができ、ユーザエクスペリエンスを改善することができる。
【００４５】
あるいは、ステップ１１において、オペレーティングシステムで実行中のアプリケーションにしたがってアプリケーションリストを作成するステップは、
オペレーティングシステムで実行中のアプリケーションの実行状態の優先度を算出するステップと、
実行中のアプリケーションの識別情報を実行状態の優先度にしたがって高いものから低いものへ順に配列してアプリケーションリストを得るステップと
を含む。
【００４６】
一般に、実行状態の優先度は、高いものから低いものへ、順に、フォアグラウンド、可視、可感知、バックグラウンドとすることができる。このように、オペレーティングシステムで実行中のアプリケーションの実行状態の優先度が端末装置によって算出された後、該実行中のアプリケーションの識別情報が実行状態の優先度にしたがって高いものから低いものへ順に配列され、アプリケーションリストが得られてもよい。
【００４７】
以上、アプリケーションリストを作成する方法を記載した。アプリケーションリストを作成する方法は他にもいくつかある。たとえば、実行中のアプリケーションの識別情報を、実行状態の優先度にしたがって低いものから高いものへ順に配列してアプリケーションリストを得てもよい。アプリケーションリストのその他の作成方法については、ここでは詳述しない。
【００４８】
オペレーティングシステムで実行中のアプリケーションは、短時間ではそれほど変化しないため、リソースを節約するために、端末装置はオペレーティングシステムで実行中のアプリケーションの実行状態の優先度を設定時間に応じて算出してもよい。設定時間は、実用上の要求に応じて設定することができる。たとえば、設定時間は３０秒、４５秒、６０秒などにすることができる。
【００４９】
あるいは、ステップ１３において、走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するステップは、
走査中の識別情報に対応するアプリケーションの実行状態の優先度を取得するステップと、
走査中の識別情報に対応するアプリケーションの実行状態の優先度がバックグラウンドである場合に、走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであると判定するステップと
を含む。
【００５０】
オペレーティングシステムで実行中のアプリケーションの実行状態の優先度を端末装置によって算出することができるため、走査中の識別情報に対応するアプリケーションの実行状態の優先度にしたがってバックグラウンドアプリケーションを判定することができる。すなわち、実行状態の優先度がバックグラウンドであるアプリケーションをバックグラウンドアプリケーションであると判定することができる。
【００５１】
あるいは、ステップ１５において、アプリケーションリストからバックグラウンドアプリケーションに対応する識別情報を選択するステップは、
所定のホワイトリストには含まれておらず、アプリケーションリストにおいて走査中の識別情報に先行する１つ以上の識別情報を見つけるステップと、
所定のホワイトリストには含まれておらず、アプリケーションリストにおいて走査中の識別情報に先行する少なくとも１つの識別情報が見つかった場合、該１つ以上の識別情報のうちの１つを選択するか、該１つ以上の識別情報から走査中の識別情報に最も近い識別情報を選択するステップと、
所定のホワイトリストには含まれておらず、アプリケーションリストにおいて走査中の識別情報に先行する識別情報が見つからなかった場合、走査中の識別情報を選択するステップと
を含む。
【００５２】
アプリケーションリストからバックグラウンドアプリケーションに対応する識別情報を選択するために、まずは、所定のホワイトリストには含まれておらず、アプリケーションリストにおいて走査中の識別情報に先行する１つ以上の識別情報を見つけてもよい。すなわち、まずはユーザが指定していないバックグラウンドアプリケーションを見つけてもよい。少なくとも１つの識別情報が見つかった場合、その１つ以上の識別情報のうちの１つ、または、走査中の識別情報に最も近い識別情報を選択することができる。識別情報が見つからなかった場合、すなわち、走査中の識別情報に先行する上記１つ以上の識別情報に対応するバックグラウンドアプリケーションがいずれもユーザが指定したバックグラウンドアプリケーションである場合、走査中の識別情報を選択することができる。
【００５３】
あるいは、上記方法は、
所定のホワイトリストに走査中の識別情報が含まれており、上記数が所定の閾値を超えていない場合、走査中の識別情報に対応するアプリケーションの休止時間を取得するステップと、
該休止時間が第１所定時間を超えているかどうかを判定するステップと、
上記休止時間が第１所定時間を超えている場合、走査中の識別情報に対応するアプリケーションを終了するステップとさらに含む。
【００５４】
メモリリソースの浪費を避けるため、所定のホワイトリストが走査中の識別情報を含んでおり、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えていない場合、走査中の識別情報に対応するアプリケーションの休止時間を取得してもよい。休止時間が第１所定時間を超えている場合、走査中の識別情報に対応するアプリケーションを直ちに終了することができる。すなわち、所定のホワイトリストに走査中の識別情報が含まれておらず、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えていなくても、走査中の識別情報に対応するアプリケーションが長時間休止していれば、そのアプリケーションを終了することができる。第１所定時間は、実用上の要求に応じて決定することができる。たとえば、第１所定時間は３分、５分、１０分などに設定することができる。
【００５５】
たとえばＱＱについて、ユーザが使用していない場合は、ＱＱをバックグラウンド実行状態にしておくことができる。ＱＱの休止時間が１０分を超えている場合、所定のホワイトリストにＱＱの識別情報が含まれていても、ＱＱを終了してメモリリソースを節約することができる。
【００５６】
あるいは、上記方法は、
休止時間が第１所定時間を超えていない場合に、休止時間が第２所定時間を超えているかどうかを検知するステップと、
休止時間が第２所定時間を超えている場合に、走査中の識別情報に対応するアプリケーションのユーザインターフェースが占有しているメモリを開放するステップと
をさらに含む。ここで、第２所定時間は第１所定時間よりも短い。
【００５７】
上記例にしたがって、休止時間が第１所定時間を超えていない場合、休止時間が第２所定時間を超えているかどうかを検知してもよい。第２所定時間は第１所定時間よりも短い。休止時間が第２所定時間を超えている場合、走査中の識別情報に対応するアプリケーションのユーザインターフェースが占有しているメモリを開放することができる。休止時間が第２所定時間を超えている場合、アプリケーションリストにおいて次の識別情報を走査することができる。第２所定時間は実用上の要求に応じて設定することができる。たとえば、第２所定時間を３分、５分、１０分などに設定することができる。
【００５８】
たとえばＱＱについて、ユーザが使用していない場合は、ＱＱをバックグラウンド実行状態にしておくことができる。ＱＱの休止時間が５分を超えている場合、所定のホワイトリストにＱＱの識別情報が含まれていても、ＱＱのユーザインターフェースが占有しているメモリを開放してメモリリソースを節約することができる。
【００５９】
一般に、アプリケーションは論理コードおよびユーザインターフェース（ＵＩ）の２つの部分を含んでもよい。ＵＩには、画像やアニメーションなどの要素が含まれる。通常、これらの２つの部分はメモリに記憶することができる。アンドロイドシステムにおいて、ＵＩはアクティビティであってもよい。アクティビティは、アプリケーションのＵＩの記憶に用いるコンテナである。論理コードが占有するメモリは少量であるため、休止時間が第２所定時間を超えるアプリケーションの論理コードを壊す代わりに、このアプリケーションのＵＩが占有するメモリを開放すると、大量のメモリリソースを節約することができる。アプリケーションの実行状態がフォアグラウンドになった場合、このアプリケーションの論理コードは保存されているため、ＵＩを再構築してユーザに影響が出ないようにすることができる。
【００６０】
あるいは、上記方法は、
所定のホワイトリストに走査中の識別情報が含まれておらず、上記数が所定の閾値を超えていない場合、走査中の識別情報に対応するアプリケーションの休止時間を取得するステップと、
該休止時間が第３所定時間を超えているかどうかを判定するステップと、
上記休止時間が第３所定時間を超えている場合、走査中の識別情報に対応するアプリケーションのユーザインターフェースが占有しているメモリを開放するステップと
をさらに含む。
【００６１】
したがって、メモリリソースを節約するため、所定のホワイトリストに走査中の識別情報を含まれておらず、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えていない場合は、走査中の識別情報に対応するアプリケーションの休止時間を取得することができる。休止時間が第３所定時間を超えている場合、走査中の識別情報に対応するアプリケーションのユーザインターフェースが占有しているメモリを開放することができる。
【００６２】
第３所定時間は、実用上の要求に応じて設定することができる。たとえば、第３所定時間は３分、５分、１０分などに設定することができる。
【００６３】
たとえば電卓について、ユーザが使用していない場合は、電卓をバックグラウンド実行状態にしておくことができる。電卓の休止時間が５分を超えている場合、所定のホワイトリストにはこの電卓の識別情報が含まれていないため、この電卓のユーザインターフェースが占有しているメモリを開放してメモリリソースを節約することができる。
【００６４】
あるいは、走査中の識別情報に対応するアプリケーションの休止時間を取得するステップは、
走査中の識別情報に対応するアプリケーションの処理がオペレーティングシステムの他の処理と相互作用しない時間を計測するステップと、
該時間を休止時間とするステップと
を含む。
【００６５】
アプリケーションの休止状態とは、アプリケーションの処理がオペレーティングシステムの他の処理と相互作用しない状態のことを言う。相互作用にはデータ要求の送信、データ要求への応答、他の処理が送信する通信要求などがあってもよい。走査中の識別情報に対応するアプリケーションの処理がオペレーティングシステムの他の処理と相互作用しない時間を計測することによって、走査中の識別情報に対応するアプリケーションの休止時間を取得することができる。
【００６６】
図２は、本開示の例示的な実施形態に係るバックグラウンドアプリケーションの別の制御方法を示すフローチャートである。図２に示すとおり、端末装置において使用される本方法は以下のステップを含む。
【００６７】
ステップ２１において、オペレーティングシステムで実行中のアプリケーションの実行状態の優先度が算出される。
【００６８】
一般に、実行中のアプリケーションの実行状態の優先度は、高いものから低いものへ、順に、フォアグラウンド、可視、可感知、バックグラウンドとすることができる。実行中のアプリケーションの実行状態の優先度を算出する方法は、用いられるオペレーティングシステムごとに異なってもよい。アンドロイドシステムを例に取ると、実行中のアプリケーションの実行状態の優先度は、アクティビティマネージャサービスによって算出することができる。
【００６９】
ステップ２２において、実行中のアプリケーションの識別情報を実行状態の優先度にしたがって高いものから低いものへ順に配列してアプリケーションリストが取得される。
【００７０】
以上、アプリケーションリストを作成する方法を記載した。アプリケーションリストを作成する方法は他にもいくつかある。たとえば、実行中のアプリケーションの識別情報を、実行状態の優先度にしたがって低いものから高いものへ順に配列してアプリケーションリストを得てもよい。アプリケーションリストのその他の作成方法については、ここでは詳述しない。
【００７１】
アプリケーションの識別情報には、アプリケーションの名前やアイコンなどがあるが、これらに限定されない。
【００７２】
ステップ２３において、アプリケーションリスト内の識別情報を走査する。
【００７３】
走査される個々の識別情報について、バックグラウンドアプリケーションの制御手順は同一である。以下、走査中の識別情報を例に取る。
【００７４】
ステップ２４において、走査中の識別情報に対応するアプリケーションの実行状態の優先度を取得する。
【００７５】
走査中の識別情報に対応するアプリケーションの実行状態の優先度がバックグラウンドである場合、ステップ２５において、走査中の識別情報に対応するアプリケーションはバックグラウンドアプリケーションであるとして、ステップ２６に進む。
【００７６】
走査中の識別情報に対応するアプリケーションの実行状態の優先度がバックグラウンドではない場合、ステップ４０に進む。
【００７７】
ステップ２６において、所定のホワイトリストに走査中の識別情報が含まれているかどうかを判定する。
【００７８】
所定のホワイトリストには、ユーザが指定したバックグラウンドアプリケーションの識別情報、すなわち、ユーザが終了を望まないバックグラウンドアプリケーションの識別情報が含まれる。たとえば、ユーザが指定するバックグラウンドアプリケーションとしては、ＱＱ、ＷｅＣｈａｔ、Ｆｅｔｉｏｎ、Ｂａｉｄｕ  ｍａｐなどが挙げられる。所定のホワイトリストには、ＱＱ、ＷｅＣｈａｔ、Ｆｅｔｉｏｎ、Ｂａｉｄｕ  ｍａｐなどのアプリケーションの識別情報を含むことができる。
【００７９】
所定のホワイトリストに走査中の識別情報が含まれている場合、ステップ２７において、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかを判定する。
【００８０】
所定の閾値は、端末装置のハードウエア構成および実用上の要求に応じて設定することができる。たとえば、所定の閾値は、１０、２０、２５などに設定することができる。
【００８１】
アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えている場合、ステップ２８において、所定のホワイトリストには含まれておらず、アプリケーションリストにおいて走査中の識別情報に先行する１つ以上の識別情報を見つける。
【００８２】
少なくとも１つの識別情報が見つかった場合、ステップ２９において、その１つ以上の識別情報のうちの１つ、または、走査中の識別情報に最も近い識別情報を選択し、ステップ３１に進む。
【００８３】
識別情報が見つからなかった場合、ステップ３０において、走査中の識別情報を選択し、ステップ３１に進む。
【００８４】
ステップ３１において、選択した識別情報に対応するアプリケーションを終了し、ステップ４０に進む。
【００８５】
アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えていない場合、ステップ３２において、走査中の識別情報に対応するアプリケーションの休止時間を取得し、該休止時間が第１所定時間を超えているかどうかを判定する。
【００８６】
上記休止時間が第１所定時間を超えている場合、ステップ３３において、走査中の識別情報に対応するアプリケーションを終了し、ステップ４０に進む。
【００８７】
メモリリソースの浪費を避けるため、所定のホワイトリストが走査中の識別情報を含んでおり、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えていない場合、走査中の識別情報に対応するアプリケーションの休止時間を取得することができる。休止時間が第１所定時間を超えている場合、走査中の識別情報に対応するアプリケーションを直ちに終了することができる。すなわち、所定のホワイトリストに走査中の識別情報が含まれており、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えていなくても、走査中の識別情報に対応するアプリケーションが長時間休止していれば、そのアプリケーションを終了することができる。第１所定時間は、実用上の要求に応じて設定することができる。たとえば、第１所定時間は３分、５分、１０分などに設定することができる。
【００８８】
たとえばＱＱについて、ユーザが使用していない場合は、ＱＱをバックグラウンド実行状態にしておくことができる。ＱＱの休止時間が１０分を超える場合、所定のホワイトリストにＱＱの識別情報が含まれていても、ＱＱを終了してメモリリソースを節約することができる。
【００８９】
休止時間が第１所定時間を超えていない場合、ステップ３４において、休止時間が第２所定時間を超えているかどうかを検知する。
【００９０】
休止時間が第２所定時間を超えている場合、ステップ３５において、走査中の識別情報に対応するアプリケーションのユーザインターフェースが占有しているメモリを開放し、ステップ４０に進む。
【００９１】
休止時間が第２所定時間を超えていない場合、ステップ４０に進む。
【００９２】
上記例にしたがって、休止時間が第１所定時間を超えていない場合、休止時間が第２所定時間を超えているかどうかを検知することができる。第２所定時間は第１所定時間よりも短い。休止時間が第２所定時間を超えている場合、走査中の識別情報に対応するアプリケーションのユーザインターフェースが占有しているメモリを開放することができる。休止時間が第２所定時間を超えていない場合、アプリケーションリストの次の識別情報を走査することができる。第２所定時間は実用上の要求に応じて設定することができる。たとえば、第２所定時間は、３分、５分、１０分などに設定することができる。
【００９３】
たとえばＱＱについて、ユーザが使用していない場合は、ＱＱをバックグラウンド実行状態にしておくことができる。ＱＱの休止時間が５分を超える場合、所定のホワイトリストにＱＱの識別情報が含まれていても、ＱＱのユーザインターフェースが占有しているメモリを開放してメモリリソースを節約することができる。
【００９４】
休止時間が第２所定時間を超えるアプリケーションのＵＩが占有しているメモリを開放するため、大量のメモリリソースを節約することができる。アプリケーションの実行状態がフォアグラウンドになった場合、ＵＩを再構築してユーザに影響が出ないようにすることができる。
【００９５】
所定のホワイトリストに走査中の識別情報が含まれていない場合、ステップ３６において、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかを判定する。
【００９６】
アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えている場合、ステップ３７において、走査中の識別情報に対応するアプリケーションを終了し、ステップ４０に進む。
【００９７】
所定のホワイトリストに走査中の識別情報が含まれておらず、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えている場合、走査中の識別情報に対応するアプリケーションを直ちに終了することができる。所定のホワイトリストには走査中の識別情報が含まれていないため、すなわち、走査中の識別情報に対応するアプリケーションはユーザが指定したバックグラウンドアプリケーションではないため、走査中の識別情報に対応するアプリケーションを直ちに終了してメモリリソースを節約し、ユーザエクスペリエンスを改善することができる。
【００９８】
アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えていない場合、ステップ３８において、走査中の識別情報に対応するアプリケーションの休止時間を取得し、該休止時間が第３所定時間を超えているかどうかを判定する。
【００９９】
休止時間が第３所定時間を超えている場合、ステップ３９において、走査中の識別情報に対応するアプリケーションのユーザインターフェースが占有しているメモリを開放し、ステップ４０に進む。
【０１００】
休止時間が第３所定時間を超えていない場合、ステップ４０に進む。
【０１０１】
したがって、メモリリソースを節約するため、所定のホワイトリストに走査中の識別情報が含まれておらず、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えていない場合は、走査中の識別情報に対応するアプリケーションの休止時間を取得することができる。休止時間が第３所定時間を超えている場合、走査中の識別情報に対応するアプリケーションのユーザインターフェースが占有しているメモリを開放することができる。
【０１０２】
第３所定時間は、実用上の要求に応じて設定することができる。たとえば、第３所定時間は３分、５分、１０分などに設定することができる。
【０１０３】
たとえば電卓について、ユーザが使用していない場合は、電卓をバックグラウンド実行状態にしておくことができる。電卓の休止時間が５分を超えている場合、所定のホワイトリストにこの電卓の識別情報が含まれていないため、この電卓のユーザインターフェースが占有しているメモリを開放してメモリリソースを節約することができる。
【０１０４】
ステップ４０でフローは終了する。
【０１０５】
図３は、本開示の例示的な実施形態に係るバックグラウンドアプリケーションを制御する装置を示すブロック図である。図３に示すとおり、装置は作成ユニット３１、走査ユニット３２、第１判定ユニット３３、第２判定ユニット３４、および第１終了ユニット３５を備える。
【０１０６】
作成ユニット３１は、オペレーティングシステムで実行中のアプリケーションにしたがって、オペレーティングシステムで実行中のアプリケーションの識別情報を少なくとも含むアプリケーションリストを作成するように構成される。
【０１０７】
走査ユニット３２は、アプリケーションリストの識別情報を走査するように構成される。
【０１０８】
第１判定ユニット３３は、走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するように構成される。
【０１０９】
第２判定ユニット３４は、走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションである場合、ユーザが指定したバックグラウンドアプリケーションの識別情報を含む所定のホワイトリストに走査中の識別情報が含まれているかどうかと、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定するように構成される。
【０１１０】
第１終了ユニット３５は、
所定のホワイトリストに走査中の識別情報が含まれ、上記数が所定の閾値を超えている場合、アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、選択した識別情報に対応するバックグラウンドアプリケーションを終了し、
所定のホワイトリストに走査中の識別情報が含まれておらず、上記数が所定の閾値を超えている場合、走査中の識別情報に対応するアプリケーションを終了するように構成される。
【０１１１】
本開示の実施形態に係るバックグラウンドアプリケーションを制御する装置では、終了するバックグラウンドアプリケーションを端末装置によって決定するために、バックグラウンドアプリケーションの数が所定の閾値を超えているかどうかと、所定のホワイトリストに終了するバックグラウンドアプリケーションの識別情報が含まれているかどうかとをいずれも検討する必要がある。所定のホワイトリストには、ユーザが指定したバックグラウンドアプリケーションの識別情報が含まれる。すなわち、ユーザは、所定のホワイトリスト内の識別情報に対応するバックグラウンドアプリケーションのいずれについても終了を望まない。走査中の識別情報について、所定のホワイトリストにその走査中の識別情報が含まれており、バックグラウンドアプリケーションの数が所定の閾値を超えている場合、バックグラウンドアプリケーションを１つ選択して終了する。所定のホワイトリストに走査中の識別情報が含まれておらず、バックグラウンドアプリケーションの数が所定の閾値を超えている場合、走査中の識別情報に対応するアプリケーションを終了する。ユーザが指定したバックグラウンドアプリケーションが軽率に終了されてしまうことがないため、最大メモリを占有する終了対象のバックグラウンドアプリケーションが、ユーザが指定したバックグラウンドアプリケーションになってしまう可能性がある関連技術の方法に比べて、バックグラウンドアプリケーションを適切に制御することができ、ユーザエクスペリエンスを改善することができる。
【０１１２】
あるいは、作成ユニット３１は、算出サブユニットおよび配列サブユニットを備える。
【０１１３】
算出サブユニットは、オペレーティングシステムで実行中のアプリケーションの実行状態の優先度を算出するように構成され、実行状態の優先度は、高いものから低いものへ、順に、フォアグラウンド、可視、可感知、バックグラウンドとなっている。
【０１１４】
配列サブユニットは、実行中のアプリケーションの識別情報を実行状態の優先度にしたがって高いものから低いものへ順に配列してアプリケーションリストを得るように構成される。
【０１１５】
あるいは、第１判定ユニット３３は、取得サブユニットおよび第１判定サブユニットを備える。
【０１１６】
取得サブユニットは、走査中の識別情報に対応するアプリケーションの実行状態の優先度を取得するように構成される。
【０１１７】
第１判定サブユニットは、走査中の識別情報に対応するアプリケーションの実行状態の優先度がバックグラウンドである場合に、走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであると判定するように構成される。
【０１１８】
あるいは、第１終了ユニット３５は、発見サブユニットおよび選択サブユニットを備える。
【０１１９】
発見サブユニットは、所定のホワイトリストには含まれておらず、アプリケーションリストにおいて走査中の識別情報に先行する１つ以上の識別情報を見つけるように構成される。
【０１２０】
選択サブユニットは、
所定のホワイトリストには含まれておらず、アプリケーションリストにおいて走査中の識別情報に先行する少なくとも１つの識別情報が見つかった場合、該１つ以上の識別情報のうちの１つを選択するか、該１つ以上の識別情報から走査中の識別情報に最も近い識別情報を選択し、
所定のホワイトリストには含まれておらず、アプリケーションリストにおいて走査中の識別情報に先行する識別情報が見つからなかった場合、走査中の識別情報を選択するように構成される。
【０１２１】
あるいは、装置は、第１取得ユニット、第３判定ユニット、および第２終了ユニットをさらに備える。
【０１２２】
第１取得ユニットは、所定のホワイトリストに走査中の識別情報が含まれており、上記数が所定の閾値を超えていない場合、走査中の識別情報に対応するアプリケーションの休止時間を取得するように構成される。
【０１２３】
第３判定ユニットは、該休止時間が第１所定時間を超えているかどうかを判定するように構成される。
【０１２４】
第２終了ユニットは、上記休止時間が第１所定時間を超えている場合、走査中の識別情報に対応するアプリケーションを終了するように構成される。
【０１２５】
あるいは、装置は、検知ユニットおよび第１開放ユニットをさらに備える。
【０１２６】
検知ユニットは、休止時間が第１所定時間を超えていない場合に、休止時間が第２所定時間を超えているかどうかを検知するように構成される。
【０１２７】
第１開放ユニットは、休止時間が第２所定時間を超えている場合に、走査中の識別情報に対応するアプリケーションのユーザインターフェースが占有しているメモリを開放するように構成される。ここで、第２所定時間は第１所定時間よりも短い。
【０１２８】
あるいは、装置は、第２取得ユニット、第４判定ユニット、および第２開放ユニットをさらに備える。
【０１２９】
第２取得ユニットは、所定のホワイトリストに走査中の識別情報が含まれており、上記数が所定の閾値を超えていない場合、走査中の識別情報に対応する所定のアプリケーションの休止時間を取得するように構成される。
【０１３０】
第４判定ユニットは、該休止時間が第３所定時間を超えているかどうかを判定するように構成される。
【０１３１】
第２開放ユニットは、上記休止時間が第３所定時間を超えている場合、走査中の識別情報に対応するアプリケーションのユーザインターフェースが占有しているメモリを開放するように構成される。
【０１３２】
あるいは、第１取得ユニットおよび第２取得ユニットは、計測サブユニットおよび第２判定サブユニットを備える。
【０１３３】
計測サブユニットは、走査中の識別情報に対応するアプリケーションの処理がオペレーティングシステムの他の処理と相互作用しない時間を計測するように構成される。
【０１３４】
第２判定サブユニットは、該時間を休止時間とするように構成される。
【０１３５】
上述の実施形態に係る装置については、これら装置に含まれる個々のモジュールの動作の詳細については、バックグラウンドアプリケーションの制御方法に関する実施形態において詳細に説明したので、それらについては、本実施形態では詳述しない。
【０１３６】
図４は、本開示の例示的な実施形態に係るバックグラウンドアプリケーションを制御する装置８００を示す模式図である。たとえば、装置８００は、携帯電話、コンピュータ、デジタル放送端末、メッセージ送受信機器、ゲームコントローラ、タブレット装置、医療機器、運動機器、ＰＤＡなどであってもよい。
【０１３７】
図４を参照し、装置８００は、プロセッサ部８０２、メモリ８０４、電源部８０６、マルチメディア部８０８、音声部８１０、入出力（Ｉ／Ｏ）インターフェース８１２、センサ部８１４、および通信部８１６のうち１つ以上を備えていてもよい。
【０１３８】
通常、プロセッサ部８０２は、表示、通話、データ通信、カメラ動作、記録動作に関連する動作などの装置８００の動作全体を制御する。プロセッサ部８０２は、１つ以上のプロセッサ８２０を備えて上記方法のステップの全部または一部を実施する命令を実行してもよい。さらに、プロセッサ部８０２は、プロセッサ部８０２と他の構成要素との間の相互作用を支援するモジュールを１つ以上備えていてもよい。たとえば、プロセッサ部８０２は、マルチメディア部８０８とプロセッサ部８０２との間の相互作用を支援するマルチメディアモジュールを備えていてもよい。
【０１３９】
メモリ８０４は、各種データを格納して装置８００の動作をサポートするように構成される。このようなデータとしては、たとえば、装置８００で操作される任意のアプリケーションまたは方法に関する命令、連絡先データ、電話帳データ、メッセージ、写真、動画などが挙げられる。メモリ８０４は、揮発性あるいは不揮発性、またはその組み合わせなど、どの種類のメモリ装置を使って実装してもよい。たとえば、スタティックＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気メモリ、フラッシュメモリ、磁気ディスク、光ディスクなどである。
【０１４０】
電源部８０６は、装置８００の各種構成要素に電力を供給する。電源部８０６は、電力管理システム、１つ以上の電源、装置８００における電力の生成、管理、配電に関連する他の構成要素を備えていてもよい。
【０１４１】
マルチメディア部８０８は、装置８００とユーザとの間の出力インターフェースを提供する画面を備える。いくつかの実施形態では、該画面は液晶表示装置（ＬＣＤ）およびタッチパネル（ＴＰ）を含んでもよい。画面にタッチパネルが含まれる場合、該画面は、ユーザからの入力信号を受け付けるタッチスクリーンとして実装され得る。タッチパネルは、タッチパネル上のタッチ、スワイプ、ジェスチャーを感知するタッチセンサを１つ以上備える。タッチセンサは、タッチ操作またはスワイプ操作の範囲を感知することに加えて、タッチ操作またはスワイプ操作の時間および押圧力も感知する。いくつかの実施形態では、マルチメディア部８０８は、フロントカメラおよび／またはバックカメラを備える。フロントカメラおよびバックカメラは、装置８００が撮影モードや動画モードなどの動作モードで稼働している間、外部からマルチメディアデータを受信できる。フロントカメラおよびバックカメラは、それぞれ固定光学レンズ系であってもよいし、フォーカス機能や光学ズーム機能を有していてもよい。
【０１４２】
音声部８１０は、音声信号を出力および／または入力するように構成される。たとえば、音声部８１０はマイク（「ＭＩＣ」）を含む。マイクは、装置８００が、通話モード、記録モード、音声認識モードなどの動作モードで稼働している際、外部からの音声信号を受信するように構成される。受信した音声信号は、さらにメモリ８０４に記憶されたり、通信部８１６を介して送信されたりしてもよい。いくつかの実施形態では、音声部８１０は音声信号を出力するためのスピーカーを備える。
【０１４３】
Ｉ／Ｏインターフェース８１２は、プロセッサ部８０２と、キーボード、クリックホイール、ボタンなどの周辺機器インターフェースモジュールとの間のインターフェースを提供する。ボタンとしては、ホームボタン、ボリュームボタン、起動ボタン、ロックボタンが挙げられるが、これらに限定されない。
【０１４４】
センサ部８１４は、装置８００の各種機能の状態を判断するためのセンサを１つ以上備える。たとえば、センサ部８１４は、装置８００の開閉状態、装置８００の構成要素間（たとえば、ディスプレイとキーパッド）の相対位置、装置８００または装置８００の構成要素の位置の変化、装置８００に対するユーザの接触の有無、装置８００の向きまたは加速／減速、および装置８００の温度変化を検知することができる。センサ部８１４は、近くにある物体の存在を物理的に接触せずに検出するように構成された近接センサを備えていてもよい。また、センサ部８１４は、撮像アプリケーション用のＣＭＯＳイメージセンサやＣＣＤイメージセンサなどの光センサを備えていてもよい。いくつかの実施形態では、センサ部８１４は、加速度センサ、ジャイロセンサ、磁気センサ、圧力センサ、または温度センサを備えていてもよい。
【０１４５】
通信部８１６は、装置８００と他の装置との間の有線または無線の通信を支援するように構成される。装置８００はＷｉＦｉ、２Ｇ、３Ｇなどの通信規格またはその組み合わせに基づいて、無線ネットワークにアクセスすることができる。例示的な一実施形態では、通信部８１６は、放送信号や放送に関連する情報を、外部の放送管理システムから放送チャネル経由で受信する。例示的な一実施形態では、通信部８１６は、近距離通信を支援する近距離無線通信（ＮＦＣ）モジュールをさらに含む。たとえば、ＮＦＣモジュールの実装には、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）技術、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）技術、超広帯域無線（ＵＷＢ）技術、Ｂｌｕｅｔｏｏｔｈ（登録商標）（ＢＴ）技術、その他の通信技術を用いることができる。
【０１４６】
ある例示的な実施形態では、装置８００は、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、デジタル信号処理装置（ＤＳＰＤ）、プログラム可能な論理素子（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コントローラ、マイクロコントローラ、マイクロプロセッサ、その他の電子部品を用いて実装し、本開示の実施形態に係る上記方法を実施することができる。
【０１４７】
また、ある例示的な実施形態では、上記方法を実施するため、装置８００のプロセッサ８２０によって実行可能な命令を格納するメモリ８０４のような、命令を格納する非一時的コンピュータ読取可能記憶媒体が提供される。非一時的コンピュータ読取可能記憶媒体としては、たとえばＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ），ＣＤ−ＲＯＭ，磁気テープ、フロッピー（登録商標）ディスク、光データ記憶装置、などが挙げられる。
【０１４８】
端末装置のプロセッサによって実行されると、バックグラウンドアプリケーションを制御する方法を端末装置に実行させる命令を記憶する非一時的コンピュータ読取可能記憶媒体が提供される。該方法は、
オペレーティングシステムで実行中のアプリケーションにしたがって、オペレーティングシステムで実行中のアプリケーションの識別情報を少なくとも含むアプリケーションリストを作成するステップと、
アプリケーションリストの識別情報を走査するステップと、
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するステップと、
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションである場合、ユーザが指定したバックグラウンドアプリケーションの識別情報を含む所定のホワイトリストに走査中の識別情報が含まれるかどうかと、アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定するステップと、
所定のホワイトリストに走査中の識別情報が含まれており、上記数が所定の閾値を超えている場合、アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、選択した識別情報に対応するバックグラウンドアプリケーションを終了するステップと、
所定のホワイトリストに走査中の識別情報が含まれておらず、上記数が所定の閾値を超えている場合、走査中の識別情報に対応するアプリケーションを終了するステップと
を含む。
【０１４９】
本開示の他の実施形態は、本願明細書の記載や本開示の実施を通じて当業者には明らかであろう。本願は、本開示の原理に従ったあらゆる変形、使用、適合を包含することを意図しており、当該分野で公知または慣行の範疇にある逸脱も本願の範囲に含まれる。明細書の記載や例はあくまでも例示であって、本開示の真の範囲および精神は特許請求の範囲によって示す。
【０１５０】
本開示は、上述および添付図面に図示した特定の構成に何ら限定されるものではなく、本開示の範囲から逸脱することなく種々の変形、変更が可能であることが理解されるであろう。本開示の範囲は、特許請求の範囲によってのみ限定されるものである。
【図１】
2016538663.tif 000003
【図２】
2016538663.tif 000004
【図３】
2016538663.tif 000005
【図４】
2016538663.tif 000006
【手続補正書】
【提出日】平成27年4月30日(2015.4.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オペレーティングシステムで実行中のアプリケーションにしたがって、前記オペレーティングシステムで実行中の前記アプリケーションの識別情報を少なくとも含むアプリケーションリストを作成するステップと、
前記アプリケーションリスト内の識別情報を走査するステップと、
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するステップと、
前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションである場合、ユーザが指定したバックグラウンドアプリケーションの識別情報を含む所定のホワイトリストに前記走査中の識別情報が含まれるかどうかと、前記アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定するステップと、
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えている場合、前記アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、前記選択した識別情報に対応する前記バックグラウンドアプリケーションを終了するステップと、
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するステップと
を含む、バックグラウンドアプリケーションを制御する方法。
【請求項２】
前記オペレーティングシステムで実行中のアプリケーションにしたがってアプリケーションリストを作成するステップは、
前記オペレーティングシステムで実行中の前記アプリケーションの実行状態の優先度を算出するステップであって、前記実行状態の優先度は、高いものから低いものへ、順に、フォアグラウンド、可視、可感知、バックグラウンドとなっている、ステップと、
前記実行中のアプリケーションの前記識別情報を、前記実行状態の優先度にしたがって高いものから低いものへ順に配列して前記アプリケーションリストを得るステップと
を含む、請求項１に記載の方法。
【請求項３】
前記走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するステップは、
前記走査中の識別情報に対応する前記アプリケーションの実行状態の優先度を取得するステップと、
前記走査中の識別情報に対応する前記アプリケーションの前記実行状態の優先度がバックグラウンドである場合に、前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションであると判定するステップと
を含む、請求項２に記載の方法。
【請求項４】
前記アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択するステップは、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する１つ以上の識別情報を見つけるステップと、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する少なくとも１つの識別情報が見つかった場合、前記１つ以上の識別情報のうちの１つを選択するか、前記１つ以上の識別情報から前記走査中の識別情報に最も近い識別情報を選択するステップと、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する識別情報が見つからなかった場合、前記走査中の識別情報を選択するステップと
を含む、請求項２または３に記載の方法。
【請求項５】
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するステップと、
前記休止時間が第１所定時間を超えているかどうかを判定するステップと、
前記休止時間が前記第１所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するステップと
をさらに含む、請求項１に記載の方法。
【請求項６】
前記休止時間が前記第１所定時間を超えていない場合に、前記休止時間が第２所定時間を超えているかどうかを検知するステップと、
前記休止時間が前記第２所定時間を超えている場合に、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放するステップと
をさらに含み、前記第２所定時間は前記第１所定時間よりも短い、請求項５に記載の方法。
【請求項７】
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するステップと、
前記休止時間が第３所定時間を超えているかどうかを判定するステップと、
前記休止時間が前記第３所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放するステップと
をさらに含む、請求項１に記載の方法。
【請求項８】
前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するステップは、
前記走査中の識別情報に対応する前記アプリケーションの処理が、前記オペレーティングシステムの他の処理と相互作用しない時間を計測するステップと、
前記時間を前記休止時間とするステップと
を含む、請求項５〜７のいずれかに記載の方法。
【請求項９】
オペレーティングシステムで実行中のアプリケーションにしたがって、前記オペレーティングシステムで実行中の前記アプリケーションの識別情報を少なくとも含むアプリケーションリストを作成するように構成された作成ユニットと、
前記アプリケーションリスト内の前記識別情報を走査するように構成された走査ユニットと、
走査中の識別情報に対応するアプリケーションがバックグラウンドアプリケーションであるかどうかを判定するように構成された第１判定ユニットと、
前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションである場合、ユーザが指定したバックグラウンドアプリケーションの識別情報を含む所定のホワイトリストに前記走査中の識別情報が含まれるかどうかと、前記アプリケーションリスト内のバックグラウンドアプリケーションに対応する識別情報の数が所定の閾値を超えているかどうかとを判定するように構成された第２判定ユニットと、
第１終了ユニットであって、
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えている場合、前記アプリケーションリストから１つのバックグラウンドアプリケーションに対応する識別情報を選択し、前記選択した識別情報に対応する前記バックグラウンドアプリケーションを終了し、
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するように構成された第１終了ユニットと
を備える、バックグラウンドアプリケーションを制御する装置。
【請求項１０】
前記作成ユニットは、
前記オペレーティングシステムで実行中の前記アプリケーションの実行状態の優先度を算出するように構成された算出サブユニットであって、前記実行状態の優先度は、高いものから低いものへ、順に、フォアグラウンド、可視、可感知、バックグラウンドとなっている、算出サブユニットと、
前記実行中のアプリケーションの前記識別情報を、前記実行状態の優先度にしたがって高いものから低いものへ順に配列して前記アプリケーションリストを得るように構成された配列サブユニットと
を備える、請求項９に記載の装置。
【請求項１１】
前記第１判定ユニットは、
前記走査中の識別情報に対応する前記アプリケーションの実行状態の優先度を取得するように構成された取得サブユニットと、
前記走査中の識別情報に対応する前記アプリケーションの前記実行状態の優先度がバックグラウンドである場合に、前記走査中の識別情報に対応する前記アプリケーションがバックグラウンドアプリケーションであると判定するように構成された第１判定サブユニットと
を備える、請求項１０に記載の装置。
【請求項１２】
前記第１終了ユニットは、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する１つ以上の識別情報を見つけるように構成された発見サブユニットと、
選択サブユニットであって、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する少なくとも１つの識別情報が見つかった場合、前記１つ以上の識別情報のうちの１つを選択するか、前記１つ以上の識別情報から前記走査中の識別情報に最も近い識別情報を選択し、
前記所定のホワイトリストには含まれておらず、前記アプリケーションリストにおいて前記走査中の識別情報に先行する識別情報が見つからなかった場合、前記走査中の識別情報を選択するように構成された選択サブユニットと
を備える、請求項１０または１１に記載の装置。
【請求項１３】
前記所定のホワイトリストに前記走査中の識別情報が含まれており、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するように構成された第１取得ユニットと、
前記休止時間が第１所定時間を超えているかどうかを判定するように構成された第３判定ユニットと、
前記休止時間が前記第１所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションを終了するように構成された第２終了ユニットと
をさらに備える、請求項９に記載の装置。
【請求項１４】
前記休止時間が前記第１所定時間を超えていない場合に、前記休止時間が第２所定時間を超えているかどうかを検知するように構成された検知ユニットと、
前記休止時間が前記第２所定時間を超えている場合に、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放する第１開放ユニットと
をさらに備え、前記第２所定時間は前記第１所定時間よりも短い、請求項１３に記載の装置。
【請求項１５】
前記所定のホワイトリストに前記走査中の識別情報が含まれておらず、前記数が前記所定の閾値を超えていない場合、前記走査中の識別情報に対応する前記アプリケーションの休止時間を取得するように構成された第２取得ユニットと、
前記休止時間が第３所定時間を超えているかどうかを判定するように構成された第４判定ユニットと、
前記休止時間が前記第３所定時間を超えている場合、前記走査中の識別情報に対応する前記アプリケーションのユーザインターフェースが占有しているメモリを開放するように構成された第２開放ユニットと
をさらに備える、請求項９に記載の装置。
【請求項１６】
前記第１取得ユニットおよび前記第２取得ユニットは、
前記走査中の識別情報に対応する前記アプリケーションの処理が前記オペレーティングシステムの他の処理と相互作用しない時間を計測するように構成された計測サブユニットと、
前記時間を前記休止時間とするように構成された第２判定サブユニットと
を備える、請求項１３〜１５のいずれかに記載の装置。
【請求項１７】
コンピュータで実行されると、前記コンピュータに、請求項１〜８のいずれかに記載のバックグラウンドアプリケーションを制御する方法を実行させるコンピュータプログラム。
【請求項１８】
請求項１７に記載のコンピュータプログラムを記憶したコンピュータ読取可能記憶媒体。
【国際調査報告】
2016538663.tif 000007
2016538663.tif 000008
2016538663.tif 000009
2016538663.tif 000010