【发布时间】:2011-12-25 17:46:13
【问题描述】:
我想从我的网站获取内容并在列表视图和文本视图中显示这些内容。我使用 jsoup 库来解析 HTML,但我的应用程序使用 25 MB 内存,如您所知,这对于应用程序来说是相当多的。
如何提高应用程序的内存效率?
【问题讨论】:
标签: android html-parsing
我想从我的网站获取内容并在列表视图和文本视图中显示这些内容。我使用 jsoup 库来解析 HTML,但我的应用程序使用 25 MB 内存,如您所知,这对于应用程序来说是相当多的。
如何提高应用程序的内存效率?
【问题讨论】:
标签: android html-parsing
您可以使用 webview 显示它,而不是尝试解析它并将其转换为原生视图。
@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>
【讨论】: