アプリ版:「スタンプのみでお礼する」機能のリリースについて

ホーム画面にウィジェットでデジタル時計を配置したのですが、ディスプレイを消したあと点けると、時刻に遅れが生じます。

といっても1秒ほどで正確な時間にもどるのですが、原因が気になります。

下の画像はその1秒のタイミングを見計らってスクリーンショットを撮ったものです。

右上の22:55が正確な時間です。
ディスプレイを消したのが22:49、点けたのが22:55なので、ディスプレイを消している間はデジタル時計が動いていないみたいです。
念のためにアナログ時計も配置してみたところ、こちらはちゃんと動いているようです。

実はディスプレイを消しているあいだ動いていないと思われるものは気付いただけ他にもあります。それは天気のウィジェット、そして壁紙を変更するアプリです。

私はとあるアプリを使って壁紙を変更しているのですが、ディスプレイを点けると壁紙が消えてしまい、背景が真っ黒、やがて1秒ほど経つとデジタル時計が正確になるのと一緒に壁紙が表示されます。
アプリではなく端末本体で壁紙変更をした場合はこのような事にはならず、ちゃんと表示されます。


これは普通のことでしょうか?
それとも何かの不具合ですか?

私はバッテリー消費対策のために多くの同期をOFFにしていますが、それは関係ありますか?

端末はandroid4.4、URBANO V01です。

宜しくお願いします。


●追記
私の端末はロック画面(スタート画面)を表示しない設定にしてあります。
ディスプレイを点けたらすぐにホーム画面が出ます。

「ディスプレイを消してる間、デジタル時計、」の質問画像

A 回答 (2件)

パソコンのプログラマです。


たぶんそれはアプリの「そういう作り」だと思われます。

私もこれに似たアプリを作れと言われたならば同じ作りにするかもしれません。
時計の表示にもグラフィック(線を書いたり文字を書いたり)を使うわけですが、
ディスプレイを消してる間は普通ならそれを感知してグラフィックの更新をとめます。
グラフィックの更新をとめないとユーザーに「このアプリ、裏で余計な電力消費してやがる!」と言われて使われなくなっちゃいますからね。

で、ディスプレイが再度点けられるとそれを感知して現在の時刻を再描画するというのが本来の筋ではあるんですが、作り手が「別に1秒に1回再描画してんだからいいじゃん」ということで手を抜けば、次のタイミング(1秒後)になってやっと正しい時刻が再描画されると。

それまでは再描画されてないわけですから、前回表示していた、アプリの中で持っている描画済みの画像がそのまま表示されてしまう、それが貴殿のおっしゃる「天気」「壁紙」にも該当してるんだと思います。

で、ここからは勝手な想像になりますが、ディスプレイを点けた瞬間というのは、いろんなアプリが一斉に「わ、ディスプレイが点いたぞ!再描画だ!」ということで大騒ぎになります。

貴殿がお持ちのような高性能な Android でしたら一瞬で再描画が終わるのでしょうが、貧弱な環境の場合は大騒ぎが収まるまで時間がかかり、最悪の場合、他のアプリとのかの兼ね合い上、ネットで現在の天気を拾ってくるのに失敗するとか、描画が崩れるということになりかねません。

ですので私ならば、「ちっ、点けた瞬間で再描画したらだめか」ということで「点けた瞬間で正しい情報を取得して再描画する機能」をまずは外してみると思います。内部でタイマーを持っておいて、「騒ぎ」が収まるタイミングで再描画すればいいんでしょうが、それは個々の機材によって違うので一概に何秒と設定してしまうわけにもいかない。
だったらいちいちCPUの負荷状態をモニタリングする? えーい、もーいーや

ということで、ユーザーから見れば不便ではあるんですが、そのように作ったわけであって、「不具合」と言うには可哀想かもしれません。
    • good
    • 0
この回答へのお礼

ありがとう

そうですか…。そういうものなのですね…。
回答ありがとうございました。

お礼日時:2016/02/07 04:36

>これは普通のことでしょうか?



はい、普通の事です

>私はバッテリー消費対策のために多くの同期をOFFにしていますが、それは関係ありますか?

それが原因です。
基本的に日時はサーバーにアクセスして日時データを取得してそれを表示しますが
同期やアプリなどをオフにしておくと、日時の更新ができませんから、最新のデータを表示するようになっています
    • good
    • 0
この回答へのお礼

ありがとう

回答ありがとうございます。
色々同期をONにしているのですがなかなか上手くいかないですが組み合わせみたいなのもあるんでしょうかね。

お礼日時:2016/02/07 04:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!