我有一個基於谷歌MapView的應用程序與大量的矢量疊加。一次可以在屏幕上顯示多達500個複雜的多邊形。在我的手機(Android 2.3.4)上,無論是否需要,MapView的重繪都會在短時間內自動觸發。如何停止Android MapView的自動重繪?
的問題:由於大地圖的
重繪時間UI響應可能會很慢。例如,打開一個菜單可能需要一秒左右的時間。任何對話的反應也很差。
問題:
是否可以關閉MapView自動重繪?或者如何改善UI響應的其他想法?
* MapView.SetEnabled(false)不這樣做,MapView只能變成不可點擊的。 MapView.setWillNotDraw(true)給我留下了黑屏。 *據我所知在Android 2.2沒有自動重繪發生(MapView.Invalidate()是需要看到任何變化)。也許它不僅是操作系統/庫版本,還有硬件問題。
您最初的疑問是足夠的:)我記錄了所有invalidate調用我的代碼,每秒鐘都有一個電話。原來是來自onSensorChanged事件。我在開發的初始階段進行了輪換地圖,但後來放棄了它。但電話仍然存在。爲什麼它沒有在舊手機上觸發幾乎沒有關係。 所以我確認:沒有自動重繪內置的MapView,除非一個行爲愚蠢:) – user1588091 2012-08-11 12:33:49
優秀!我很高興獲得幫助。另外,如果您認爲這有幫助,您可以提高我的答案!乾杯 – 2012-08-11 15:19:21