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