Получить данные из интернета в Android - PullRequest
2 голосов
/ 10 ноября 2011

Я хочу получить контент с моего интернет-сайта и показать его в виде списка и просмотра текста. Я использовал библиотеку jsoup для анализа HTML, но мое приложение использует оперативную память 25 МБ, что, как вы знаете, довольно много для приложения.

Как я могу улучшить эффективность оперативной памяти моего приложения?

1 Ответ

3 голосов
/ 10 ноября 2011

Вы можете отобразить его в веб-представлении, вместо того, чтобы пытаться его проанализировать и преобразовать в собственное представление.

@Override
    public void onCreate(Bundle savedInstanceState) { 
         super.onCreate(savedInstanceState);
         //.. Other setup ...   
         //Add webview     
         WebView myWebView = (WebView) findViewById(R.id.webview);
         myWebView.getSettings().setJavaScriptEnabled(true);
         myWebView.addJavascriptInterface(new JSBridge(), "JSJavaBridge");
         myWebView.loadUrl("http://my.testdomain.com/theSharedPage.html"); 
    }

Затем напишите методы в классе JSBridge для обработки любых взаимодействий между JS и Java.Например:

private class JSBridge
{ 
    public playSound(){
         mp = MediaPlayer.create(Test.this, R.raw.mysound);   
         mp.start();
    }
}

Затем в HTML используйте JSBridge для воспроизведения звука с Java.

   <script type="text/javascript">

            $(document).ready(function () {
                $( '#playSound' ).click(function () {

                    if(typeof JSJavaBridge != 'undefined')
                          JSJavaBridge.playSound();
                });
            });
    </script>
...