私はカスタムListCell
の実装をしています(下の図を参照)。 HBox
に含まれる各桁のTextField
と、VBox
とカウンタからなる「CounterContent」に入れGluonのListViewパフォーマンスが悪い
3つの標識からなる、日付を表す左側、、、及びkWh、kWh /日のラベルを含む2つのHboxes
などがあります。そして、それはあまりにも多くの、performantly実行するように見えます。
バックグラウンドタスクにデータをロードしようとしましたが、タスクが実行されている間に進行状況インジケーターが表示されましたが、デスクトップとは異なり、アンドロイドではパフォーマンスが非常に悪いです。リストビューに切り替えるたびに、ガベージコレクションが開始され、進行状況インジケータが表示されないようにUIスレッドがブロックされます。
私はHuawei Y-300、Android 4.1.1、javafxports 8.60.6(javafxports 8.60.7が原因でTextField
が使用できなくなるため、バグが発生するため)、およびSamsung S5 mini、Android 5 +。サムスンの携帯電話では、Ahead-of-Timeのコンパイルのために一般的にパフォーマンスは良くなっていますが、ガベージコレクションの問題はまだあります。さらに、リストビューにセルが設定された後、スクロールはあまりスムーズではありません。
パフォーマンスが悪いためにリストセルが複雑になることがありますか?
UPDATE:滑らかでなくスクロールがパフォーマンスの問題が原因ではないと思われる多くのテストを実行した後
。少なくともS5(javafxports 8.60.7)。
私はすべてのCSSスタイルを除去し、そして単一のラベル(対向ノードが既に2 Regions
(不HBoxes
でテキストフィールドをレイアウトカスタムコントロール(すなわち忘れ)、である)とのノードがテキストフィールドを置き換えListCell
がコンストラクタでインスタンス化されます)。さらに、ListView
をCharmListView
に変更し、android.monocle.input.touchRadius = 1に設定しました。
これらのステップのいずれも、大幅な改善をもたらさなかった。
明確にする:Huaweiの携帯電話とは対照的に、S5とアンドロイド5+のスクロールは使えますが、それほど滑らかではなく、不満足なユーザー体験になります。
Huawei(javafxports 8.60.6)では、ラベルのカウンタテキストフィールドを変更すると大幅に改善されましたが、スクロールが使用可能になった時点では改善されませんでした。私がこの魔法の実験的なスイッチを設定するまでは:gluon.experimental.performance = true。リストビューのスクロールが速く(あまりウォーミングアップの遅れをとって)スローされますが、まだ滑らかではありません。
この詳細情報をお寄せいただきありがとうございます。問題をさらに調査するために、私が取った手順で質問を更新しました – jns
あなたはいくつかの改善が得られてうれしいです。 2015 Gluonの[JavaOne](https://play.google.com/store/apps/details?id=com.gluonhq.applications.javaone)アプリを試しましたか?これは、かなりパフォーマンスの良い 'CharmListView'コントロールを使用していますが、実験的なフラグはまだありません。デバイスでスクロールがスムーズに行われているかどうかを確認します。 –
ちょっと試してみましたが、スクロール中に同じ小さな「ジャンプ」を見ていました。私のリストセルの実装は、当初期待したとおり、この効果を引き起こしていません。たとえば、Webビューでのスクロールスーパースムーズです。 – jns