繪製我有從JSON對象創建一個path()
。我將JSON對象傳遞給構造函數中的覆蓋對象。Android地圖,在疊加構造
延伸Overlay
的對象在任何時候地圖移動,渲染,觸及任何事物時總是調用draw()
。即使您的疊加層不可見或附近或任何東西。
我想在for循環中生成我的路徑對象,實際上是一個嵌套循環,因爲json對象包含嵌套的json數組。這具有很高的理論計算時間,所以我不想在draw()
方法中做到這一點。相反,我試圖做的邏輯在我的構造,使path()
文件,然後調用路徑文件只有一次在draw()
方法,其中在這裏需要canvas.drawPath(path, mPaint);
不幸的是,當我在構造函數創建我的道路,它不與地圖平移。但是,當我創建它,完全相同的代碼,在draw()
方法,它確實有期望的功能:即圍欄的地圖的一部分的路徑。
問題是draw()
方法會一遍又一遍地調用我的double for循環,並且性能下降是顯而易見的並且使人虛弱。即使將draw()中的循環放入new Thread()
也無助於性能。在構造函數中運行它將是理想的,但路徑不會隨地圖平移。
類似地在draw()
方法內使用一個私有布爾轉換,以使所需的代碼只運行,也不起作用。該路徑將不會出現在地圖上,除非它不斷重繪,這是一項任務過於繁重。
本網站有關此問題的其他解答的問題是,人們正在製作正方形,圓形和圖像,它們只需要在draw()
之內調用一次,而不是生成路徑的循環。
意見建議?一些關於draw()
方法有助於覆蓋堅持地圖,我怎麼能運行我的for循環只有一次
我沒有意識到新的api,它是否與薑餅向後兼容? – CQM
你有沒有針對當前api的解決方案?我沒有使用片段,也不想疏遠開放的gl 1.1用戶,並且不希望切換我管理API密鑰的方式,因爲我的編譯腳本也必須更改 – CQM
要繼續使用舊的API,請閱讀1 – Budius