8

解決できない問題があるようです。週末を費やしましたが、修正できませんでした。2 つのアクティビティを含む簡単なテスト アプリを作成する場合: 1. メインアクティビティ: いくつかのボタン、タイマー (バックグラウンド スレッド)、および SQLite データベースへの軽い要求。2. 2 番目のアクティビティ: いくつかのボタンのうち、オンクリック リスナーがあるのは 1 つだけです。クリックすると、最初のアクティビティに戻ります。私は大きなボタン (画面の幅は画面の高さの約 4 分の 1) を使用しています。xml レイアウト リソースには、ネストされた重み要素やその他の風変わりなものは含まれていません。

これはテスト プロジェクトであり、他の機能はありません。

次の深刻な問題があります: - マニフェスト ファイルで API レベルを 3 に設定すると、すべてが完璧に機能します。(互換モードでは自動的に画面が表示されます) - API レベルを 11 以上に設定すると、2 番目のアクティビティの読み込みに最大 10 秒かかる場合があります。2 番目のアクティビティを初めて開いた後、物事がキャッシュされているように見え、遅延はもはや存在しません。-API レベルを 11 以上に設定し、(画面解像度) 互換モードを強制すると、変更なしで遅延が残ります。

古いアプリをアップグレードするときにこの問題に遭遇したため、このテスト プロジェクトをビルドしました。古い API レベルではスムーズに動作しましたが、Android バージョン 3 以降に配置すると、最大 25 秒の遅延が発生します! (静的テキストのみを表示するアクティビティを開く場合でも...)。

私は新しい Galaxy Tab でテストしていますが、それが問題になることはありません。私は何時間もかけて解決策を探しましたが、それに近いものは見つかりませんでした。Eclipse とすべての Android リソースを完全にアンインストールし、すべてを新たにインストールして更新しました (Galaxy Tab の工場出荷時設定へのリセットを含む)。運がない。

問題は GLES20Canvas.nDrawDisplayList にあります。作成するものがあまりない場合でも、このリストの作成には多くの時間がかかるようです...

どうすればこれを解決できるか、誰にも手がかりがありますか?

ありがとう、マーティン

4

2 に答える 2

1

GLES20Canvas.nDrawDisplayList

これが来たらそれはexpected to have a large portion of the time if you are drawing a lot, especially very big viewsです。

android-30-hardware-accelerationからすべきこととすべきでないことへのリンクを教えてください。

于 2012-12-11T13:05:35.933 に答える