Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> googlemap加載多個overlay內存溢出

googlemap加載多個overlay內存溢出

編輯:Android開發實例

今天測試了一下地圖加載多個不同overlay,結果溢出 其實也不大16*16 總過18個

結果內存移除"out of memory".搜索了一下 有個人也遇到過 他的解決辦法就是 捕獲溢出的異常

mapView.setBuiltInZoomControls(true);   
    ZoomButtonsController zoomctrl = mapView.getZoomButtonsController();  
    zoomctrl.setAutoDismissed(false);//自動隱藏關閉 
    zoomctrl.setVisible(true); 
    zoomctrl.setOnZoomListener(new ZoomButtonsController.OnZoomListener() { 
 
        public void onZoom(boolean zoomIn) { 
            // TODO Auto-generated method stub 
            try{ 
                Log.i(TAG, "OnZoomListener"); 
                System.gc(); 
                if(zoomIn) 
                {                        
                    mc.zoomIn(); 
                } 
                else 
                { 
                    mc.zoomOut(); 
                } 
                System.gc(); 
            } 
            catch(OutOfMemoryError e) 
            { 
                e.printStackTrace(); 
                Log.e(TAG, e.toString()); 
                Toast.makeText(GoogleMap.this, e.toString(), Toast.LENGTH_LONG); 
            } 
            catch (Exception e) 
            { 
                Log.w(TAG, e.toString()); 
                Toast.makeText(GoogleMap.this, e.toString(), Toast.LENGTH_LONG); 
            }                
        } 
 
        public void onVisibilityChanged(boolean visible) { 
            // TODO Auto-generated method stub 
 
        } 
    }); 
 
    private boolean myDoubleTouch(float x, float y, MapView mapView) 
    { 
    Log.i(mParent.TAG, "myDoubleTouch: " + x +","+y); 
    try 
    { 
        mapView.getController().zoomInFixing((int)x, (int)y); 
    } 
    catch(OutOfMemoryError e) 
    { 
        System.gc(); 
        e.printStackTrace(); 
        Log.e(mParent.TAG, e.toString()); 
        Toast.makeText(m_mapview.getContext(), e.toString(), Toast.LENGTH_LONG); 
    } 
    catch (Exception e) 
    { 
        Log.w(mParent.TAG, e.toString()); 
        Toast.makeText(m_mapview.getContext(), e.toString(), Toast.LENGTH_LONG); 
    }            
 
    return true; 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved