2
我想从我的网站获取内容,并在列表视图和文本视图中显示这些内容。我使用jsoup库来解析HTML,但我的应用程序使用25 MB RAM,因为您知道这对于应用程序来说相当多。在Android中从互联网获取数据
如何提高应用程序的RAM效率?
我想从我的网站获取内容,并在列表视图和文本视图中显示这些内容。我使用jsoup库来解析HTML,但我的应用程序使用25 MB RAM,因为您知道这对于应用程序来说相当多。在Android中从互联网获取数据
如何提高应用程序的RAM效率?
您可以使用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>
不,我不想因为我的网站,这是不适合移动phones.so我必须从互联网上获得的字符串和编辑它,因为我想要的。 – jbgamer
理想情况下,您会重写网站/页面以使用现代响应式设计技术使其适应移动设备。正如你所建议的那样,使用页面抓取是一个维护噩梦。但是如果你看不到其他方式,那么你实际上可以使用带有字符串的WebView。您可以下载页面,用代码修改它,然后在WebView中加载字符串。 * String str =“
FOO”; webview.loadData(str,“text/html”,null); * 祝你好运,你最终怎么走。 – eSniff我不能看到其他方式,所以我不得不使用哪个解析器?还有我在listview中有位图。如何提高ram对位图的效率? – jbgamer