android图形中的性能优化
我正在创建一个地图应用程序,它需要显示一个非常大的世界地图位图,这个位图比大多数屏幕都大,并且占用大量内存 为了解决这个问题,我使用了与谷歌地图及其应用程序类似的方法,将地图分割成更小的256x256块,然后计算出在我的设备上每次12块的视图区域中的块数 这些片段都存储在assets文件夹中,该文件夹使用assetmanager加载,然后使用bitmapfactory解码为位图,然后绘制到我的视图画布上 这是非常缓慢的,即使在进一步阅读文献并在一个单独的线程中运行之后,当滚动到新位置时,图形也是不稳定的android图形中的性能优化,android,performance,graphics,Android,Performance,Graphics,我正在创建一个地图应用程序,它需要显示一个非常大的世界地图位图,这个位图比大多数屏幕都大,并且占用大量内存 为了解决这个问题,我使用了与谷歌地图及其应用程序类似的方法,将地图分割成更小的256x256块,然后计算出在我的设备上每次12块的视图区域中的块数 这些片段都存储在assets文件夹中,该文件夹使用assetmanager加载,然后使用bitmapfactory解码为位图,然后绘制到我的视图画布上 这是非常缓慢的,即使在进一步阅读文献并在一个单独的线程中运行之后,当滚动到新位置时,图形也是
其他游戏和应用程序(如谷歌地图)是如何以如此平滑的滚动方式显示图形的?经过多次尝试后,似乎问题出在读取资产文件夹上。我通过从用户屏幕大小计算一次可以看到的最大地图条数来解决这个问题。绘制过程首先搜索阵列中现在不在屏幕上的片段,并将插槽置零。然后,它会查找现在可见的片段,并将它们加载到一个空插槽中 然后,该应用程序使用数组作为数据源,并将assets文件夹的读数减少到6,而不是直接方法每次绘图加载20个片段
游戏现在以流行手机游戏的速度运行 使webview长度,高度=包裹,填充父对象,但webview用于从internet上显示网页数据。我正在尝试从设备本身加载它,这样就不需要internet连接。