㈠ 關於Webview如何快速載入圖片,真的很頭疼
<img src="高質量大圖片.jpg" width="88" height="98" hspace="5" vspace="5" border="0" lowsrc="低質量圖片.jpg" /> lowsrc 為低解析度源,在載入網站的時候,如果設置了低解析度源就會先解析低質量的圖片,那樣就可以大大提高網站的載入速度了,等網站都載入完成以後,低質量的圖片會重新載入成高質量的
㈡ 如何有效提升WebView的載入速度
在做混合應用的時候,有幾個痛點,一個是無網路無法使用,還有一個是受網路環境影響的網頁載入速度。今天就這兩個問題,和大家交流一下自己的經驗。
離線緩存
這個比較容易,開啟webView的緩存功能就可以了。
WebSettings settings = webView.getSettings();
settings.setAppCacheEnabled(true);
settings.setDatabaseEnabled(true);
settings.setDomStorageEnabled(true);//開啟DOM緩存,關閉的話H5自身的一些操作是無效的settings.setCacheMode(WebSettings.LOAD_DEFAULT);
這邊我們通過setCacheMode方法來設置WebView的緩存策略,WebSettings.LOAD_DEFAULT是默認的緩存策略,它在緩存可獲取並且沒有過期的情況下載入緩存,否則通過網路獲取資源。這樣的話可以減少頁面的網路請求次數,那我們如何在離線的情況下也能打開頁面呢,這里我們在載入頁面的時候可以通過判斷網路狀態,在無網路的情況下更改webview的緩存策略。
ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getActiveNetworkInfo();if(info.isAvailable())
{
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
}else {
settings.setCacheMode(WebSettings.LOAD_CACHE_ONLY);//不使用網路,只載入緩存}
這樣我們就可以使我們的混合應用在沒有網路的情況下也能使用一部分的功能,不至於什麼都顯示不了了,當然如果我們將緩存做的更好一些,在網路好的時候,比如說在WIFI狀態下,去後台載入一些網頁緩存起來,這樣處理的話,即使在無網路情況下第一次打開某些頁面的時候,也能將該頁面顯示出來。
當然緩存資源後隨之會帶來一個問題,那就是資源無法及時更新,WebSettings.LOAD_DEFAULT中的頁面中的緩存版本好像不是很起作用,所以我們這邊可能需要自己做一個緩存版本控制。這個緩存版本控制可以放在APP版本更新中。
if (upgrade.cacheControl > cacheControl)
{
webView.clearCache(true);//刪除DOM緩存
VersionUtils.clearCache(mContext.getCacheDir());//刪除APP緩存
try
{
mContext.deleteDatabase("webview.db");//刪除資料庫緩存
mContext.deleteDatabase("webviewCache.db");
} catch (Exception e)
{
}
}
預載入
有時候一個頁面資源比較多,圖片,CSS,js比較多,還引用了JQuery這種龐然巨獸,從載入到頁面渲染完成需要比較長的時間,有一個解決方案是將這些資源打包進APK裡面,然後當頁面載入這些資源的時候讓它從本地獲取,這樣可以提升載入速度也能減少伺服器壓力。重寫WebClient類中的shouldInterceptRequest方法,再將這個類設置給WebView。
webView.setWebViewClient(new WebViewClient()
{ @Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url)
{ if (url.contains("[tag]"))
{
String localPath = url.replaceFirst("^http.*[tag]\\]", ""); try
{
InputStream is = getApplicationContext().getAssets().open(localPath);
Log.d(TAG, "shouldInterceptRequest: localPath " + localPath);
String mimeType = "text/javascript"; if (localPath.endsWith("css"))
{
mimeType = "text/css";
} return new WebResourceResponse(mimeType, "UTF-8", is);
} catch (Exception e)
{
e.printStackTrace(); return null;
}
} else
{ return null;
}
}
});
這里我們隊頁面中帶有特殊標記的請求進行過濾替換,也就是上面代碼中的[tag],這個可以跟做後台開發的同事約定好來就行了。對圖片資源或者其他資源進行替換也是可以的。補充一個小點可以通過settings.setLoadsImagesAutomatically(true);來設置在頁面裝載完成之後再去載入圖片。
H5優化
Android的OnPageFinished事件會在Javascript腳本執行完成之後才會觸發。如果在頁面中使 用JQuery,會在處理完DOM對象,執行完$(document).ready(function() {});事件自會後才會渲染並顯示頁面。而同樣的頁面在iPhone上卻是載入相當的快,因為iPhone是顯示完頁面才會觸發腳本的執行。所以我們這邊的解決方案延遲JS腳本的載入,這個方面的問題是需要Web前端工程師幫忙優化的,網上應該有比較多LazyLoad插件,這里放一個比較老的鏈接Painless JavaScript lazy loading with LazyLoad,同樣也放上一小段前端代碼,僅供參考。
<script src="/css/j/lazyload-min.js" type="text/javascript"></script><script type="text/javascript" charset="utf-8">
loadComplete() { //instead of document.read();
}
function loadscript() {
LazyLoad.loadOnce([ '/css/j/jquery-1.6.2.min.js', '/css/j/flow/jquery.flow.1.1.min.js', '/css/j/min.js?v=2011100852'
], loadComplete);
}
setTimeout(loadscript,10);</script>
㈢ web項目中怎麼讓圖片和flash載入的更快,除了放在緩存中,還有沒有其他辦法
減小體積,比如圖片能壓縮的壓縮,png也是可以壓縮的;swf看看有沒有可以優化的地方;
減少請求次數,小圖片合並成一張(專業術語忘了叫什麼了),同理swf;
非同步載入,分多次載入,讓用戶在視覺上感覺載入快了。
㈣ 我有個網站,裡面圖片較多,在載入首頁時打開特別慢,請問有什麼辦法能加快首頁的打開速度
一、軟體篇
1、設定虛擬內存
硬碟中有一個很寵大的數據交換文件,它是系統預留給虛擬內存作暫存的地方,很多應用程序都經常會使用到,所以系統需要經常對主存儲器作大量的數據存取,因此存取這個檔案的速度便構成影響計算機快慢的非常重要因素!一般Windows預設的是由系統自行管理虛擬內存,它會因應不同程序所需而自動調校交換檔的大小,但這樣的變大縮小會給系統帶來額外的負擔,令系統運作變慢!有見及此,用戶最好自定虛擬內存的最小值和最大值,避免經常變換大小。要設定虛擬內存,在「我的電腦」上按右鍵選擇「屬性」,在「高級」選項里的「效能」的對話框中,對「虛擬內存」進行設置。
3、檢查應用軟體或者驅動程序
有些程序在電腦系統啟動會時使系統變慢。如果要是否是這方面的原因,我們可以從「安全模式」啟動。因為這是原始啟動,「安全模式」運行的要比正常運行時要慢。但是,如果你用「安全模式」啟動發現電腦啟動速度比正常啟動時速度要快,那可能某個程序是導致系統啟動速度變慢的原因。
4、桌面圖標太多會惹禍
桌面上有太多圖標也會降低系統啟動速度。Windows每次啟動並顯示桌面時,都需要逐個查找桌面快捷方式的圖標並載入它們,圖標越多,所花費的時間當然就越多。同時有些殺毒軟體提供了系統啟動掃描功能,這將會耗費非常多的時間,其實如果你已經打開了殺毒軟體的實時監視功能,那麼啟動時掃描系統就顯得有些多餘,還是將這項功能禁止吧! 建議大家將不常用的桌面圖標放到一個專門的文件夾中或者乾脆刪除!
5、ADSL導致的系統啟動變慢
默認情況下Windows XP在啟動時會對網卡等網路設備進行自檢,如果發現網卡的IP地址等未配置好就會對其進行設置,這可能是導致系統啟動變慢的真正原因。這時我們可以打開「本地連接」屬性菜單,雙擊「常規」項中的「Internet協議」打開「TCP/IP屬性」菜單。將網卡的IP地址配置為一個在公網(默認的網關是192.168.1.1)中尚未使用的數值如192.168.1.X,X取介於2~255之間的值,子網掩碼設置為255.255.255.0,默認網關和DNS可取默認設置。
6、字體對速度的影響
雖然 微軟 聲稱Windows操作系統可以安裝1000~1500種字體,但實際上當你安裝的字體超過500 種時,就會出現問題,比如:字體從應用程序的字體列表中消失以及Windows的啟動速度大幅下降。在此建議最好將用不到或者不常用的字體刪除,為避免刪除後發生意外,可先進行必要的備份。
7、刪除隨機啟動程序
何謂隨機啟動程序呢?隨機啟動程序就是在開機時載入的程序。隨機啟動程序不但拖慢開機時的速度,而且更快地消耗計算機資源以及內存,一般來說,如果想刪除隨機啟動程序,可去「啟動」清單中刪除,但如果想詳細些,例如是QQ、popkiller 之類的軟體,是不能在「啟動」清單中刪除的,要去「附屬應用程序」,然後去「系統工具」,再去「系統信息」,進去後,按上方工具列的「工具」,再按「系統組態編輯程序」,進去後,在「啟動」的對話框中,就會詳細列出在啟動電腦時載入的隨機啟動程序了!XP系統你也可以在「運行」是輸入Msconfig調用「系統配置實用程序」才終止系統隨機啟動程序,2000系統需要從XP中復制msconfig程序。
8、取消背景和關閉activedesktop
不知大家有否留意到,我們平時一直擺放在桌面上漂亮的背景,其實是很浪費計算機資源的!不但如此,而且還拖慢計算機在執行應用程序時的速度!本想美化桌面,但又拖慢計算機的速度,這樣我們就需要不在使用背景了,方法是:在桌面上按滑鼠右鍵,再按內容,然後在「背景」的對話框中,選「無」,在「外觀」的對話框中,在桌面預設的青綠色,改為黑色......至於關閉activedesktop,即是叫你關閉從桌面上的web畫面,例如在桌面上按滑鼠右鍵,再按內容,然後在「背景」的對話框中,有一幅背景,名為Windows XX,那副就是web畫面了!所以如何系統配置不高就不要開啟。
10、把Windows變得更苗條
與DOS系統相比,Windows過於龐大,而且隨著你每天的操作,安裝新軟體、載入運行庫、添加新游戲等等使得它變得更加龐大,而更為重要的是變大的不僅僅是它的目錄,還有它的 注冊表 和運行庫。因為即使刪除了某個程序,可是它使用的DLL文件仍然會存在,因而隨著使用日久,Windows的啟動和退出時需要載入的DLL動態鏈接庫文件越來越大,自然系統運行速度也就越來越慢了。這時我們就需要使用一些徹底刪除DLL的程序,它們可以使Windows恢復苗條的身材。建議極品玩家們最好每隔兩個月就重新安裝一遍Windows,這很有效。
11、更改系統開機時間
雖然你已知道了如何新增和刪除一些隨機啟動程序,但你又知不知道,在開機至到進入Windows的那段時間,計算機在做著什麼呢?又或者是,執行著什麼程序呢?那些程序,必定要全部載完才開始進入Windows,你有否想過,如果可刪除一些不必要的開機時的程序,開機時的速度會否加快呢?答案是會的!想要修改,可按"開始",選"執行",然後鍵入win.ini,開啟後,可以把以下各段落的內容刪除,是刪內容,千萬不要連標題也刪除!它們包括:[compatibility]、[compatibility32]、[imecompatibility]、[compatibility95]、[molecompatibility]和[embedding]。
二、硬體篇
1、Windows系統自行關閉硬碟DMA模式
硬碟的DMA模式大家應該都知道吧,硬碟的PATA模式有DMA33、DMA66、DMA100和DMA133,最新的SATA-150都出來了!一般來說現在大多數人用的還是PATA模式的硬碟,硬碟使用DMA模式相比以前的PIO模式傳輸的速度要快2~8倍。DMA模式的起用對系統的性能起到了實質的作用。但是你知道嗎?Windows 2000、XP、2003系統有時會自行關閉硬碟的DMA模式,自動改用PIO模式運行!這就造成在使用以上系統中硬碟性能突然下降,其中最明顯的現象有:系統起動速度明顯變慢,一般來說正常Windows XP系統啟動時那個由左向右運動的滑條最多走2~4次系統就能啟動,但這一問題發生時可能會走5~8次或更多!而且在運行系統時進行硬碟操作時明顯感覺變慢,在運行一些大的軟體時CPU佔用率時常達到100%而產生停頓,玩一些大型3D游戲時畫面時有明顯停頓,出現以上問題時大家最好看看自己硬碟的DMA模式是不是被Windows 系統自行關閉了。查看自己的系統是否打開DMA模式:
a. 雙擊「管理工具」,然後雙擊「計算機管理」;
b. 單擊「系統工具」,然後單擊「設備管理器」;
c. 展開「IDE ATA/ATAPI 控制器」節點;
d. 雙擊您的「主要IDE控制器」;
2、CPU 和風扇是否正常運轉並足夠製冷
當CPU風扇轉速變慢時,CPU本身的溫度就會升高,為了保護CPU的安全,CPU就會自動降低運行頻率,從而導致計算機運行速度變慢。有兩個方法檢測CPU的溫度。你可以用「手指測法」用手指試一下處理器的溫度是否燙手,但是要注意的是採用這種方法必須先拔掉電源插頭,然後接一根接地線來防止身上帶的靜電擊穿CPU以至損壞。另一個比較科學的方法是用帶感溫器的萬用表來檢測處理器的溫度。
因為處理器的種類和型號不同,合理溫度也各不相同。但是總的來說,溫度應該低於 110 度。如果你發現處理器的測試高於這處溫度,檢查一下機箱內的風扇是否正常運轉。
3、USB和掃描儀造成的影響
由於Windows 啟動時會對各個驅動器(包括光碟機)進行檢測,因此如果光碟機中放置了光碟,也會延長電腦的啟動時間。所以如果電腦安裝了掃描儀等設備,或在啟動時已經連接了USB硬碟,那麼不妨試試先將它們斷開,看看啟動速度是不是有變化。一般來說,由於USB介面速度較慢,因此相應設備會對電腦啟動速度有較明顯的影響,應該盡量在啟動後再連接USB設備。如果沒有USB設備,那麼建議直接在BIOS設置中將USB功能關閉。
4、是否使用了磁碟壓縮
因為「磁碟壓縮」可能會使電腦性能急劇下降,造成系統速度的變慢。所以這時你應該檢測一下是否使用了「磁碟壓縮」,具體操作是在「我的電腦」上點擊滑鼠右鍵,從彈出的菜單選擇「屬性」選項,來檢查驅動器的屬性。
5、網卡造成的影響
只要設置不當,網卡也會明顯影響系統啟動速度,你的電腦如果連接在區域網內,安裝好網卡驅動程序後,默認情況下系統會自動通過DHCP來獲得IP地址,但大多數公司的區域網並沒有DHCP伺服器,因此如果用戶設置成「自動獲得IP地址」,系統在啟動時就會不斷在網路中搜索DHCP 伺服器,直到獲得IP 地址或超時,自然就影響了啟動時間,因此區域網用戶最好為自己的電腦指定固定IP地址。
6、文件夾和列印機共享
安裝了Windows XP專業版的電腦也會出現啟動非常慢的時候,有些時候系統似乎給人死機的感覺,登錄系統後,桌面也不出現,電腦就像停止反應,1分鍾後才能正常使用。這是由於使用了Bootvis.exe 程序後,其中的Mrxsmb.dll文件為電腦啟動添加了67秒的時間!
要解決這個問題,只要停止共享文件夾和列印機即可:選擇「開始→設置→網路和撥號連接」,右擊「本地連接」,選擇「屬性」,在打開的窗口中取消「此連接使用下列選定的組件」下的「 Microsoft 網路的文件和列印機共享」前的復選框,重啟電腦即可。
7、系統配件配置不當
一些用戶在組裝機器時往往忽略一些小東西,從而造成計算機整體配件搭配不當,存在著速度上的瓶頸。比如有些朋友選的CPU檔次很高,可音效卡等卻買了普通的便宜貨,其實這樣做往往是得不償失。因為這樣一來計算機在運行游戲、播放影碟時由於音效卡佔用CPU資源較高且其數據傳輸速度較慢,或者其根本無硬體解碼而需要採用軟體解碼方式,常常會引起聲音的停頓,甚至導致程序的運行斷斷續續。又如有些朋友的機器是升了級的,過去老機器上的一些部件如內存條捨不得拋棄,裝在新機器上照用,可是由於老內存的速度限制,往往使新機器必須降低速度來遷就它,從而降低了整機的性能,極大地影響了整體的運行速度。
9、斷開不用的網路驅動器
為了消除或減少 Windows 必須重新建立的網路連接數目,建議將一些不需要使用的網路驅動器斷開,也就是進入「我的電腦」,右擊已經建立映射的網路驅動器,選擇「斷開」即可。
10、缺少足夠的內存
Windows操作系統所帶來的優點之一就是多線性、多任務,系統可以利用CPU來進行分時操作,以便你同時做許多事情。但事情有利自然有弊,多任務操作也會對你的機器提出更高的要求。朋友們都知道即使是一個最常用的WORD軟體也要求最好有16MB左右的內存,而運行如3D MAX等大型軟體時,64MB的內存也不夠用。所以此時系統就會自動採用硬碟空間來虛擬主內存,用於運行程序和儲存交換文件以及各種臨時文件。由於硬碟是機械結構,而內存是電子結構,它們兩者之間的速度相差好幾個數量級,因而使用硬碟來虛擬主內存將導致程序運行的速度大幅度降低。
11、硬碟空間不足
使用Windows系統平台的缺點之一就是對文件的管理不清楚,你有時根本就不知道這個文件對系統是否有用,因而Windows目錄下的文件數目越來越多,容量也越來越龐大,加之現在的軟體都喜歡越做越大,再加上一些系統產生的臨時文件、交換文件,所有這些都會使得硬碟可用空間變小。當硬碟的可用空間小到一定程度時,就會造成系統的交換文件、臨時文件缺乏可用空間,降低了系統的運行效率。更為重要的是由於我們平時頻繁在硬碟上儲存、刪除各種軟體,使得硬碟的可用空間變得支離破碎,因此系統在存儲文件時常常沒有按連續的順序存放,這將導致系統存儲和讀取文件時頻繁移動磁頭,極大地降低了系統的運行速度。
12、硬碟分區太多也有錯
如果你的Windows 2000沒有升級到SP3或SP4,並且定義了太多的分區,那麼也會使啟動變得很漫長,甚至掛起。所以建議升級最新的SP4,同時最好不要為硬碟分太多的區。因為Windows 在啟動時必須裝載每個分區,隨著分區數量的增多,完成此操作的時間總量也會不斷增長。
㈤ 網頁中圖片的載入速度問題
這要看你空間/伺服器的容量,一般單張圖片控制在100KB以內不會卡,圖片太多了會卡;你做完圖片之後,用PS保存為web格式,這樣會小,容易傳上去
㈥ 關於Webview如何快速載入圖片,真的很頭疼啊。。。
webview的話,真心沒有辦法,如果不是的話,自己可以用非同步載入的辦法來解決。
㈦ 如何優化web頁面首屏載入速度
使用伺服器緩存技術,把首頁做成靜態頁,首頁布局用DIV+CSS。首頁圖片優化,加快載入速度。
㈧ uniapp中webview圖片載入加快
網路原因。uniapp中webview圖片載入加快是網路原因。uniapp是一個使用Vue.js開發所有前端應用的框架,開發者編寫一套代碼,可發布到iOS、Android、Web以及各種小程序、快應用等多個平台。
㈨ 由於html中圖片較多,怎樣讓圖片載入速度加快
可以用gif格式的圖片 如果像是那種大圖背景什麼的話 可以切成多塊來加快網頁載入速度