ホームページ  >  に質問  >  本文

android-ui - Android app离线模式,需不需要冻结UI?

大家好,最近在开发公司app 的离线下载数据功能。就像:网易新闻,腾讯新闻中的离线模式一样。

功能上都实现了。想请教一下资深的安卓开发工程师,在下载离线数据的时候,需不需要冻结UI(在下载完成之前不让用户使用app的其他功能)?因为测试后,发现不冻结UI,程序也能正常使用,只是慢了点(应该是排队读写数据引起的)。但是上面提到的二个app都冻结了UI ,是有其他的原因吗?

天蓬老师天蓬老师2766日前426

全員に返信(4)返信します

  • PHP中文网

    PHP中文网2017-04-17 17:15:50

    いわゆるフリーズしたUIですが、オフラインの場合はデータがローカルにロードされ、ページ単位でロードされるとデータのロード速度が非常に速くなるはずです。高速ですが、インターフェイス全体で、データがロードされるまで操作できない要素がある場合は、他の使用可能な要素コントロールを無効にする必要はありません。質問者は、実際には、データのロード後にそれらのほとんどが無効になると述べています。まず、これにより、どの操作がデータのロード後にのみ実行できるかを1つずつ確認する面倒なプロセスを回避できます。そうではないものもあります。統合された禁止により、作業が大幅に節約され、エクスペリエンスに影響を与えることなく読み込みが高速化されます。

    もちろん、データのロードが遅い場合に最初に行うべきことは、データが 10 秒以内にロードできない場合 (オフライン)、実際に考慮する必要があるのは、UI に問題があるかどうかです。デザイン、データをロードしすぎていないか、ローカルにデータを保存しすぎていないかなど。ここで作成したローカル データベース アプリケーションは、表示する必要のあるデータを 1 画面に 1 秒以内に読み込むことができ、各要素を制御する必要がないため、基本的にインターフェイスをロックします。

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:15:50

    UI が凍結するとはどういう意味ですか? NetEase News を使用してオフライン ニュースをダウンロードしても、他の機能の使用には影響しません。オフライン ダウンロードはバックグラウンドで非同期的に実行する必要があり、他のアクティビティを妨げずにオフライン ダウンロードを実行するにはスレッドを開始する必要があります。

    返事
    0
  • 黄舟

    黄舟2017-04-17 17:15:50

    現在、ソフトウェアはユーザーエクスペリエンスを第一に考えています。データをダウンロードしたい場合は、バックグラウンドで非同期にダウンロードできます。ユーザーの操作に影響はありません。あなたが話しているデータの読み取りと書き込みのキューイングが並行処理でうまく行われていないため、輻輳が発生していますか?

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:15:50

    同時実行が遅いと感じる場合は、スレッドの優先順位を変更します。

    返事
    0
  • キャンセル返事