當前位置:首頁 » 安卓系統 » android載入延遲載入

android載入延遲載入

發布時間: 2024-07-19 07:16:25

① Android view 載入伺服器數據延遲問題

Android客戶端中混搭HTML頁面,會出現雖然HTML內容載入完成,標題也正常顯示,但是整個網頁需要等到近5秒(甚至更多)時間才會顯示出來。研究了很久,搜遍了國外很多網站,也看過PhoneGap的代碼,一直無解。
一般人堆WebView的加速,都是建議先用webView.getSettings().setBlockNetworkImage(true); 將圖片下載阻塞,然後在瀏覽器的OnPageFinished事件中設置webView.getSettings().setBlockNetworkImage(false); 通過圖片的延遲載入,讓網頁能更快地顯示。
但是,通過實際的日誌發現,Android的OnPageFinished事件會在javascript腳本執行完成之後才會觸發。如果在頁面中使用JQuery,會在處理完DOM對象,執行完$(document).ready(function() {});事件自會後才會渲染並顯示頁面。

② android webview怎麼才可以讓js延遲載入

WebView不是有個方法控制Javascript是否啟用嗎?演示幾秒後將這個屬性設置為true也許可以。

③ android:如何實現點擊按鈕,彈出「正在載入數據,請稍候...」對話框,載入完了之後,對話框自動

實現過程其實很簡單。
第一步:自定義一個WaitingDialog,該Dialog支持自定義文本,一個可轉動的圖片,也可以增加一個定時關閉的介面,當然也可以選擇外部定時關閉。
第二步:在頁面調用。
如果我僅僅是這么回答,你可能覺得我在敷衍你,可是我為你的問題寫了一個DEMO,你可以直接去下載,在CSDN上,就不知道網路有沒有這么開放了,哈哈。
地址:http://download.csdn.net/download/yanjunhui2011/10019463

④ android怎樣加快ui的載入速度

1.減小主線程的阻塞時間
若一個操作耗時教長(超過5秒 用戶無響應5秒 網路和資料庫阻塞10秒 廣播接收者執行超過10秒會導致ANR),我們應該將其放入後台線程中執行,只在需要修改UI界面時通知主線程進行修改。
Android已經提供了AsynTask以實現從主線程生成新的非同步任務的方法。具體用法參見非同步任務。
2.提高Adapter和AdapterView的效率
(1)重用已生成過的Item View
(2) 添加ViewHolder
(3) 緩存Item的數據
(4)分段顯示
3.優化布局文件
如果我們的布局層次過多,那麼在我們用findViewById的時間必然會變多,一個變多可能不要緊,但是有很多調用必然會影響性能。

(1) 使用觀察布局的工具 Hierarchy Viewer

(2)使用布局優化工具: Layoutopt

(3)優化布局的層次結構

4.背景圖

某些時候,我們可能希望能夠盡可能多的提高Activity哪怕一點點的性能,這時候我們可以考慮優化Activity背景圖。

首先我們必須知道,在android的Activity中,不止有你使用的setContentView時使用的View,還包含一些其它的View。其根View是一個DecorView,你設置的View就包含在其中,id為content。

(1)使用getWindow().setBackgroundDrawable()

(2)自定義主題

創建文件res/vlaues/theme.xml

<resources>

<style name="Theme.CustomBackground" parent="android:Theme">

<item name="android:windowBackground">@null</item>

</style>

</resources>

可根據需要將windowBackground設置為null或你需要的背景圖

2.在<activity/>或者<application/>標簽中添加 android:theme="@style/Theme.CustomBackground"

5.使用ViewStub

ViewStub是一個看不見,輕量級的View。它沒有尺寸,也不會繪制以及以某種形式參與到布局中來。當只有調用Inflate之後其中的View才會被實例化,這意味著用ViewStub保留View層次結構代價是
(1) 延遲載入不常用的UI控制項
當某些控制項只在很少情況下才會使用,我們可以使用ViewStub來延遲載入,以提高UI載入速度及減小內存消耗。
[java] view plain
<span style="font-size:18px;">public class DelayLoadActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.delay_load);

Button btn = (Button) findViewById(android.R.id.button1);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
v.setEnabled(false);
ViewStub stub = (ViewStub) findViewById(R.id.stub);
View inflated = stub.inflate();
}});
}

}
</span>
(2)提高改變布局的速度
需要使用的場景
界面需要頻繁切換
希望能提高切換速度
使用方法(以橫豎換屏為例)
1.設置Activity的android:configChanges屬性為keyboardHidden|orientation

2.為橫豎屏分別編寫不同的layout

3.創建一個layout,並包含兩個ViewStub(分別對應橫豎屏)

4.在橫豎屏,通過調用ViewStub.inflate創建當前View並將另外一個設為GONE

5.綁定並設置控制項的狀態

⑤ android webview 載入url有延遲怎麼辦,有沒有比wenview更好的第三方控制項

現在webView載入都會稍有延遲,另外要注意內核問題,在Android 4.4以下(不包含4.4)系統WebView底層實現是採用WebKit(http://www.webkit.org/)內核,而在Android 4.4及其以上Google 採用了chromium(http://www.chromium.org/)作為系統WebView的底層內核支持。參考Android 各個版本WebView,一般載入網頁都會有進度顯示,可以考慮增加進度顯示,另外可以集成第三方webview,現在推薦兩個,一個是騰訊X5,官方鏈接,另一個是Crosswalk,官方鏈接,使用時可以迴避掉版本兼容問題,但是會出現安裝包增大的問題。

熱點內容
ios應用上傳 發布:2024-09-08 09:39:41 瀏覽:439
ios儲存密碼哪裡看 發布:2024-09-08 09:30:02 瀏覽:873
opensslcmake編譯 發布:2024-09-08 09:08:48 瀏覽:653
linux下ntp伺服器搭建 發布:2024-09-08 08:26:46 瀏覽:744
db2新建資料庫 發布:2024-09-08 08:10:19 瀏覽:173
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:780
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:101
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:209
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995