本公開涉及圖像處理技術(shù)領(lǐng)域,尤其涉及圖像顯示方法及裝置。
背景技術(shù):
在操作系統(tǒng)(例如,Android系統(tǒng))上的Java程序中,對象會占用Java堆。位圖(Bitmap)一般是大對象,當有大量圖像需要頻繁切換顯示時,解碼圖像會頻繁從Java堆內(nèi)存分配,這會頻繁引起Java堆的垃圾收集操作,降低用戶界面的響應(yīng)性。
對于這個問題的一個常見解決辦法是:在用戶界面上只顯示很少部分圖像,降低內(nèi)存的占用量,減少垃圾事件的發(fā)生。進一步的優(yōu)化辦法是在需要顯示新的圖像時,重用已經(jīng)分配的位圖進行解碼和顯示,Android支持這種機制。但這個方法帶來了新的問題:圖像頻繁重新加載,用戶體驗不好。
技術(shù)實現(xiàn)要素:
為克服相關(guān)技術(shù)中存在的問題,本公開實施例提供圖像顯示方法及裝置。
根據(jù)本公開實施例的第一方面,提供一種圖像顯示方法,包括:
從系統(tǒng)按照固定大小分配位圖,其中,所述位圖的大小是所述系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù);
將所述位圖按照所述最小公倍數(shù)劃分為大小相等的簇,其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片;
根據(jù)一幅需要顯示的圖像的大小確定用于顯示所述需要顯示的圖像的相應(yīng)切片;
利用被創(chuàng)建用于圖像解碼的位圖來對所述需要顯示的圖像進行解碼;
將解碼后的圖像畫到所述相應(yīng)切片;
顯示被畫好的所述相應(yīng)切片中的有效區(qū)域,其中,所述有效區(qū)域包含所述需要顯示的圖像。
可選地,所述根據(jù)一幅需要顯示的圖像的大小確定用于顯示所述需要顯示的圖像的相應(yīng)切片,包括:
根據(jù)一幅需要顯示的圖像的大小計算出用于顯示所述需要顯示的圖像的所需切片;
查找所述所需切片所屬的簇。
可選地,所述根據(jù)一幅需要顯示的圖像的大小確定用于顯示所述需要顯示的圖像的相應(yīng)切片,還包括:
在沒有查找到所述所需切片所屬的簇的情況下,分配一個新簇,其中,所述新簇具有用于顯示所述需要顯示的圖像的相應(yīng)切片。
可選地,所述根據(jù)一幅需要顯示的圖像的大小確定用于顯示所述需要顯示的圖像的相應(yīng)切片,還包括:
在無法分配一個新簇的情況下,分配一個新位圖,其中,所述新位圖具有所述相應(yīng)切片所屬的簇。
可選地,所述根據(jù)一幅需要顯示的圖像的大小確定用于顯示所述需要顯示的圖像的相應(yīng)切片,還包括:
在所述位圖的數(shù)目達到上限的情況下,淘汰一個當前沒有顯示圖像的簇,并分配一個新簇,其中,所述新簇具有用于顯示所述需要顯示的圖像的相應(yīng)切片。
可選地,所述顯示被畫好的所述相應(yīng)切片中的有效區(qū)域,包括:
當所述系統(tǒng)是Android系統(tǒng)時,將被畫好的所述相應(yīng)切片中的有效區(qū)域畫到所述Android系統(tǒng)的畫布上。
根據(jù)本公開實施例的第二方面,提供一種圖像顯示優(yōu)化裝置,包括:
分配模塊,被配置為從系統(tǒng)按照固定大小分配位圖,其中,所述位圖的大小是所述系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù);
劃分模塊,被配置為將所述位圖按照所述最小公倍數(shù)劃分為大小相等的簇,其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片;
確定模塊,被配置為根據(jù)一幅需要顯示的圖像的大小確定用于顯示所述需要顯示的圖像的相應(yīng)切片;
解碼模塊,被配置為利用被創(chuàng)建用于圖像解碼的位圖來對所述需要顯示的圖像進行解碼;
繪畫模塊,被配置為將解碼后的圖像畫到所述相應(yīng)切片;
顯示模塊,被配置為顯示被畫好的所述相應(yīng)切片中的有效區(qū)域,其中,所述有效區(qū)域包含所述需要顯示的圖像。
可選地,所述確定模塊包括:
計算子模塊,被配置為根據(jù)一幅需要顯示的圖像的大小計算出用于顯示所述需要顯示的圖像的所需切片;
查找子模塊,被配置為查找所述所需切片所屬的簇。
可選地,所述確定模塊還被配置為:
在沒有查找到所述所需切片所屬的簇的情況下,分配一個新簇,其中,所述新簇具有用于顯示所述需要顯示的圖像的相應(yīng)切片。
可選地,所述確定模塊還被配置為:
在無法分配一個新簇的情況下,分配一個新位圖,其中,所述新位圖具有所述相應(yīng)切片所屬的簇。
可選地,所述確定模塊還被配置為:
在所述位圖的數(shù)目達到上限的情況下,淘汰一個當前沒有顯示圖像的簇,并分配一個新簇,其中,所述新簇具有用于顯示所述需要顯示的圖像的相應(yīng)切片。
可選地,所述顯示模塊被配置為:
當所述系統(tǒng)是Android系統(tǒng)時,將被畫好的所述相應(yīng)切片中的有效區(qū)域畫到所述Android系統(tǒng)的畫布上。
根據(jù)本公開實施例的第三方面,提供一種圖像顯示優(yōu)化裝置,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:
從系統(tǒng)按照固定大小分配位圖,其中,所述位圖的大小是所述系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù);
將所述位圖按照所述最小公倍數(shù)劃分為大小相等的簇,其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片;
根據(jù)一幅需要顯示的圖像的大小確定用于顯示所述需要顯示的圖像的相應(yīng)切片;
利用被創(chuàng)建用于圖像解碼的位圖來對所述需要顯示的圖像進行解碼;
將解碼后的圖像畫到所述相應(yīng)切片;
顯示被畫好的所述相應(yīng)切片中的有效區(qū)域,其中,所述有效區(qū)域包含所述需要顯示的圖像。
本公開的實施例提供的技術(shù)方案可以包括以下有益效果:
本公開實施例提供了圖像顯示方法及裝置,通過從系統(tǒng)按照固定大小分配位圖,其中,位圖的大小是系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù);將位圖按照最小公倍數(shù)劃分為大小相等的簇,其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片;根據(jù)一幅需要顯示的圖像的大小確定用于顯示需要顯示的圖像的相應(yīng)切片;利用被創(chuàng)建用于圖像解碼的位圖來對需要顯示的圖像進行解碼;將解碼后的圖像畫到相應(yīng)切片;顯示被畫好的相應(yīng)切片中的有效區(qū)域,其中,有效區(qū)域包含需要顯示的圖像,能夠大幅度降低從Java堆分配大對象的頻率,從而降低了垃圾收集的頻率,在可以顯示更多圖像的同時,改善了用戶界面的響應(yīng)性。而且,在保證用戶界面的響應(yīng)性的前提下,可以在用戶界面顯示盡可能多的圖像,避免瀏覽過程中圖像的頻繁加載,提高了效率,改善了用戶體驗。
應(yīng)當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實施例,并與說明書一起用于解釋本公開的原理。
圖1是根據(jù)本公開一示例性實施例示出的圖像顯示方法的流程圖;
圖2是根據(jù)本公開另一示例性實施例示出的圖像顯示方法的一部分的流程圖;
圖3是根據(jù)本公開一示例性實施例示出的一種圖像顯示優(yōu)化裝置的框圖;
圖4是根據(jù)本公開另一示例性實施例示出的一種圖像顯示優(yōu)化裝置的一部分的框圖;
圖5是根據(jù)本公開一示例性實施例示出的一種圖像顯示優(yōu)化裝置的框圖;
圖6是根據(jù)本公開另一示例性實施例示出的一種圖像顯示優(yōu)化裝置的框圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本公開相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
本公開是基于這樣的考慮:在絕大多數(shù)應(yīng)用中,所顯示的圖像的大小都是固定的幾種。在此情況下,在允許一定程度的內(nèi)存浪費時,這些圖像的大小的最小公倍大小不是特別大,因此可以進行本公開中的圖像顯示優(yōu)化。
本公開實施例提供了圖像顯示優(yōu)化技術(shù),通過從系統(tǒng)按照固定大小分配位圖,其中,位圖的大小是系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù);將位圖按照最小公倍數(shù)劃分為大小相等的簇,其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片;根據(jù)一幅需要顯示的圖像的大小確定用于顯示需要顯示的圖像的相應(yīng)切片;利用被創(chuàng)建用于圖像解碼的位圖來對需要顯示的圖像進行解碼;將解碼后的圖像畫到相應(yīng)切片;顯示被畫好的相應(yīng)切片中的有效區(qū)域,其中,有效區(qū)域包含需要顯示的圖像,能夠大幅度降低從Java堆分配大對象的頻率,從而降低了垃圾收集的頻率,在可以顯示更多圖像的同時,改善了用戶界面的響應(yīng)性。而且,在保證用戶界面的響應(yīng)性的前提下,可以在用戶界面顯示盡可能多的圖像,避免瀏覽過程中圖像的頻繁加載,提高了效率,改善了用戶體驗。
圖1是根據(jù)本公開一示例性實施例示出的圖像顯示方法的流程圖,該方法包括以下步驟S110、S120、S130、S140、S150和S160:
在步驟S110中,從系統(tǒng)按照固定大小分配位圖,其中,位圖的大小是系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù)。
在一個實施例中,從系統(tǒng)(例如,Android系統(tǒng))分配位圖時,按照固定大小分配,該位圖的大小是最小公倍尺寸的成倍大小,也可稱它為頁(Page)。
在步驟S120中,將位圖按照最小公倍數(shù)劃分為大小相等的簇(Cluster),其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片(Slice)。
在一個實施例中,根據(jù)最小公倍尺寸將位圖劃分為一塊一塊的,每一塊大小都是相同的,稱為簇。在一個實施例中,在用于顯示時,每個簇中可以容納多個圖像,每個圖像占據(jù)的大小都是相同的,簇的大小是圖像的大小的倍數(shù),每個用于顯示圖像的部分被稱作切片。在一個實施例中,不同的簇,切片大小可以不同。不同大小的切片可以被用于顯示不同大小的圖像。
在步驟S130中,根據(jù)一幅需要顯示的圖像的大小確定用于顯示需要顯示的圖像的相應(yīng)切片。
圖2示出了圖1中的步驟S130的流程圖。如圖2所示,步驟S130包括步驟S210和S220。
在步驟S210中,根據(jù)一幅需要顯示的圖像的大小計算出用于顯示需要顯示的圖像的所需切片。
在步驟S220中,查找所需切片所屬的簇。
在一個實施例中,根據(jù)一幅需要顯示的圖像的大小計算出用于顯示需要顯示的圖像的所需切片,即,確定了顯示圖像的切片的大小,并且這樣大小的切片所屬的簇,以便利用此簇中的切片顯示圖像。
在一個實施例中,步驟S130還包括:在沒有查找到所需切片所屬的簇的情況下,分配一個新簇,其中,新簇具有用于顯示需要顯示的圖像的相應(yīng)切片。即,符合需要顯示的圖像的大小的切片及其所屬的簇不存在,因此,通過分配一個新簇,使得能夠利用此新簇中的切片顯示圖像。
在一個實施例中,步驟S130還包括:在無法分配一個新簇的情況下,分配一個新位圖,其中,新位圖具有所述相應(yīng)切片所屬的簇。即,現(xiàn)有位圖中沒有空間被分配新簇,因此,通過分配一個新位圖,在新位圖中分配一個新簇,使得能夠利用此新位圖中的新簇中的切片顯示圖像。
在一個實施例中,步驟S130還包括:在位圖的數(shù)目達到上限的情況下,淘汰一個當前沒有顯示圖像的簇,并分配一個新簇,其中,新簇具有用于顯示需要顯示的圖像的相應(yīng)切片。即,在沒有空間分配新位圖的情況下,需要淘汰一個當前未被使用的簇,并在此基礎(chǔ)上分配一個新簇,,使得能夠利用此新簇中的切片顯示圖像。
在一個實施例中,需要顯示一幅圖像時,根據(jù)圖像大小計算出應(yīng)該使用的切片,查找相應(yīng)切片的簇,如果不存在,則分配一個新簇,如果無法分配到新簇,則分配一個新頁。當頁的數(shù)目已經(jīng)到達上限時,則按照某種緩存過期算法選擇一個當前沒有顯示圖像的簇進行淘汰,并通知UI其中的圖像失效了。
在步驟S140中,利用被創(chuàng)建用于圖像解碼的位圖來對需要顯示的圖像進行解碼。
在一個實施例中,解碼圖像時,一個切片是無法直接用于圖像解碼的。系統(tǒng)(例如,Android)支持重用位圖解碼,只要一個位圖占用的內(nèi)存大小大于圖像解碼應(yīng)該占用的內(nèi)存大小,系統(tǒng)就可以使用這個位圖進行解碼。因此,可以創(chuàng)建一個專門用于解碼的位圖。考慮到前提條件:一個應(yīng)用顯示的圖像大小就是固定幾種,這個位圖創(chuàng)建少數(shù)幾次之后,就會一直重用下去了,所以,不會頻繁的創(chuàng)建和釋放。而且,也可以在第一次創(chuàng)建這個位圖時,就創(chuàng)建最大需要的位圖。
在步驟S150中,將解碼后的圖像畫到相應(yīng)切片。
在步驟S160中,顯示被畫好的相應(yīng)切片中的有效區(qū)域,其中,有效區(qū)域包含需要顯示的圖像。
在一個實施例中,步驟S160包括:當系統(tǒng)是Android系統(tǒng)時,將被畫好的相應(yīng)切片中的有效區(qū)域畫到Android系統(tǒng)的畫布上。
根據(jù)本公開實施例的圖像顯示方法,通過從系統(tǒng)按照固定大小分配位圖,其中,位圖的大小是系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù);將位圖按照最小公倍數(shù)劃分為大小相等的簇,其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片;根據(jù)一幅需要顯示的圖像的大小確定用于顯示需要顯示的圖像的相應(yīng)切片;利用被創(chuàng)建用于圖像解碼的位圖來對需要顯示的圖像進行解碼;將解碼后的圖像畫到相應(yīng)切片;顯示被畫好的相應(yīng)切片中的有效區(qū)域,其中,有效區(qū)域包含需要顯示的圖像,能夠大幅度降低從Java堆分配大對象的頻率,從而降低了垃圾收集的頻率,在可以顯示更多圖像的同時,改善了用戶界面的響應(yīng)性。而且,在保證用戶界面的響應(yīng)性的前提下,可以在用戶界面顯示盡可能多的圖像,避免瀏覽過程中圖像的頻繁加載,提高了效率,改善了用戶體驗。
圖3是根據(jù)本公開一示例性實施例示出的圖像顯示優(yōu)化裝置的框圖,該裝置包括以下分配模塊310、劃分模塊320、確定模塊330、解碼模塊340、繪畫模塊350和顯示模塊360。
分配模塊310被配置為從系統(tǒng)按照固定大小分配位圖,其中,位圖的大小是系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù)。
在一個實施例中,從系統(tǒng)(例如,Android系統(tǒng))分配位圖時,按照固定大小分配,該位圖的大小是最小公倍尺寸的成倍大小,也可稱它為頁(Page)。
劃分模塊320被配置為將位圖按照最小公倍數(shù)劃分為大小相等的簇(Cluster),其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片(Slice)。
在一個實施例中,根據(jù)最小公倍尺寸將位圖劃分為一塊一塊的,每一塊大小都是相同的,稱為簇。在一個實施例中,在用于顯示時,每個簇中可以容納多個圖像,每個圖像占據(jù)的大小都是相同的,簇的大小是圖像的大小的倍數(shù),每個用于顯示圖像的部分被稱作切片。在一個實施例中,不同的簇,切片大小可以不同。不同大小的切片可以被用于顯示不同大小的圖像。
確定模塊330被配置為根據(jù)一幅需要顯示的圖像的大小確定用于顯示需要顯示的圖像的相應(yīng)切片。
圖4示出了圖3中的確定模塊330的框圖。如圖4所示,確定模塊330包括計算子模塊410和查找子模塊420。
計算子模塊410被配置為根據(jù)一幅需要顯示的圖像的大小計算出用于顯示需要顯示的圖像的所需切片。
查找子模塊420被配置為查找所需切片所屬的簇。
在一個實施例中,根據(jù)一幅需要顯示的圖像的大小計算出用于顯示需要顯示的圖像的所需切片,即,確定了顯示圖像的切片的大小,并且這樣大小的切片所屬的簇,以便利用此簇中的切片顯示圖像。
在一個實施例中,確定模塊330還被配置為:在沒有查找到所需切片所屬的簇的情況下,分配一個新簇,其中,新簇具有用于顯示需要顯示的圖像的相應(yīng)切片。即,符合需要顯示的圖像的大小的切片及其所屬的簇不存在,因此,通過分配一個新簇,使得能夠利用此新簇中的切片顯示圖像。
在一個實施例中,確定模塊330還被配置為:在無法分配一個新簇的情況下,分配一個新位圖,其中,新位圖具有所述相應(yīng)切片所屬的簇。即,現(xiàn)有位圖中沒有空間被分配新簇,因此,通過分配一個新位圖,在新位圖中分配一個新簇,使得能夠利用此新位圖中的新簇中的切片顯示圖像。
在一個實施例中,確定模塊330還被配置為:在位圖的數(shù)目達到上限的情況下,淘汰一個當前沒有顯示圖像的簇,并分配一個新簇,其中,新簇具有用于顯示需要顯示的圖像的相應(yīng)切片。即,在沒有空間分配新位圖的情況下,需要淘汰一個當前未被使用的簇,并在此基礎(chǔ)上分配一個新簇,,使得能夠利用此新簇中的切片顯示圖像。
在一個實施例中,需要顯示一幅圖像時,根據(jù)圖像大小計算出應(yīng)該使用的切片,查找相應(yīng)切片的簇,如果不存在,則分配一個新簇,如果無法分配到新簇,則分配一個新頁。當頁的數(shù)目已經(jīng)到達上限時,則按照某種緩存過期算法選擇一個當前沒有顯示圖像的簇進行淘汰,并通知UI其中的圖像失效了。
解碼模塊340被配置為利用被創(chuàng)建用于圖像解碼的位圖來對需要顯示的圖像進行解碼。
在一個實施例中,解碼圖像時,一個切片是無法直接用于圖像解碼的。系統(tǒng)(例如,Android)支持重用位圖解碼,只要一個位圖占用的內(nèi)存大小大于圖像解碼應(yīng)該占用的內(nèi)存大小,系統(tǒng)就可以使用這個位圖進行解碼。因此,可以創(chuàng)建一個專門用于解碼的位圖??紤]到前提條件:一個應(yīng)用顯示的圖像大小就是固定幾種,這個位圖創(chuàng)建少數(shù)幾次之后,就會一直重用下去了,所以,不會頻繁的創(chuàng)建和釋放。而且,也可以在第一次創(chuàng)建這個位圖時,就創(chuàng)建最大需要的位圖。
繪畫模塊350被配置為將解碼后的圖像畫到相應(yīng)切片。
顯示模塊360被配置為顯示被畫好的相應(yīng)切片中的有效區(qū)域,其中,有效區(qū)域包含需要顯示的圖像。
在一個實施例中,顯示模塊360被配置為:當系統(tǒng)是Android系統(tǒng)時,將被畫好的相應(yīng)切片中的有效區(qū)域畫到Android系統(tǒng)的畫布上。
根據(jù)本公開實施例的圖像顯示優(yōu)化裝置,通過分配模塊,被配置為從系統(tǒng)按照固定大小分配位圖,其中,位圖的大小是系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù);劃分模塊,被配置為將位圖按照最小公倍數(shù)劃分為大小相等的簇,其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片;確定模塊,被配置為根據(jù)一幅需要顯示的圖像的大小確定用于顯示需要顯示的圖像的相應(yīng)切片;解碼模塊,被配置為利用被創(chuàng)建用于圖像解碼的位圖來對需要顯示的圖像進行解碼;繪畫模塊,被配置為將解碼后的圖像畫到相應(yīng)切片;顯示模塊,被配置為顯示被畫好的相應(yīng)切片中的有效區(qū)域,其中,有效區(qū)域包含需要顯示的圖像,能夠大幅度降低從Java堆分配大對象的頻率,從而降低了垃圾收集的頻率,在可以顯示更多圖像的同時,改善了用戶界面的響應(yīng)性。而且,在保證用戶界面的響應(yīng)性的前提下,可以在用戶界面顯示盡可能多的圖像,避免瀏覽過程中圖像的頻繁加載,提高了效率,改善了用戶體驗。
根據(jù)本公開的一實施例,提供一種圖像顯示優(yōu)化裝置,其特征在于,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,處理器被配置為:
從系統(tǒng)按照固定大小分配位圖,其中,所述位圖的大小是所述系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù);
將所述位圖按照所述最小公倍數(shù)劃分為大小相等的簇,其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片;
根據(jù)一幅需要顯示的圖像的大小確定用于顯示所述需要顯示的圖像的相應(yīng)切片;
利用被創(chuàng)建用于圖像解碼的位圖來對所述需要顯示的圖像進行解碼;
將解碼后的圖像畫到所述相應(yīng)切片;
顯示被畫好的所述相應(yīng)切片中的有效區(qū)域,其中,所述有效區(qū)域包含所述需要顯示的圖像。
圖5是根據(jù)本公開一示例性實施例示出的一種圖像顯示優(yōu)化裝置的框圖。例如,圖像顯示優(yōu)化裝置1000可以是應(yīng)用程序,也可以是移動設(shè)備,如移動電話,計算機,數(shù)字廣播終端,消息收發(fā)設(shè)備,游戲控制臺,平板設(shè)備,醫(yī)療設(shè)備,健身設(shè)備,個人數(shù)字助理等。
參照圖5,裝置1000可以包括以下一個或多個組件:處理組件1002,存儲器1004,電源組件1006,多媒體組件1008,音頻組件1010,輸入/輸出(I/O)的接口1012,傳感器組件1014,以及通信組件1016。
處理組件1002通??刂蒲b置1000的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機操作和記錄操作相關(guān)聯(lián)的操作。處理組件1002可以包括一個或多個處理器1020來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件1002可以包括一個或多個模塊,便于處理組件1002和其他組件之間的交互。例如,處理組件1002可以包括多媒體模塊,以方便多媒體組件1008和處理組件1002之間的交互。
存儲器1004被配置為存儲各種類型的數(shù)據(jù)以支持在裝置1000的操作。這些數(shù)據(jù)的示例包括用于在裝置1000上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖像,視頻等。存儲器1004可以由任何類型的易失性或非易失性存儲設(shè)備或者它們的組合實現(xiàn),如靜態(tài)隨機存取存儲器(SRAM),電可擦除可編程只讀存儲器(EEPROM),可擦除可編程只讀存儲器(EPROM),可編程只讀存儲器(PROM),只讀存儲器(ROM),磁存儲器,快閃存儲器,磁盤或光盤。
電源組件1006為裝置1000的各種組件提供電力。電源組件1006可以包括電源管理系統(tǒng),一個或多個電源,及其他與為裝置1000生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件1008包括在所述裝置1000和用戶之間的提供一個輸出接口的屏幕。在一些實施例中,屏幕可以包括液晶顯示器(LCD)和觸摸面板(TP)。如果屏幕包括觸摸面板,屏幕可以被實現(xiàn)為觸摸屏,以接收來自用戶的輸入信號。觸摸面板包括一個或多個觸摸傳感器以感測觸摸、滑動和觸摸面板上的手勢。所述觸摸傳感器可以不僅感測觸摸或滑動動作的邊界,而且還檢測與所述觸摸或滑動操作相關(guān)的持續(xù)時間和壓力。在一些實施例中,多媒體組件1008包括一個前置攝像頭和/或后置攝像頭。當裝置1000處于操作模式,如拍攝模式或視頻模式時,前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個前置攝像頭和后置攝像頭可以是一個固定的光學透鏡系統(tǒng)或具有焦距和光學變焦能力。
音頻組件1010被配置為輸出和/或輸入音頻信號。例如,音頻組件1010包括一個麥克風(MIC),當裝置1000處于操作模式,如呼叫模式、記錄模式和語音識別模式時,麥克風被配置為接收外部音頻信號。所接收的音頻信號可以被進一步存儲在存儲器1004或經(jīng)由通信組件1016發(fā)送。在一些實施例中,音頻組件1010還包括一個揚聲器,用于輸出音頻信號。
I/O接口1012為處理組件1002和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動按鈕和鎖定按鈕。
傳感器組件1014包括一個或多個傳感器,用于為裝置1000提供各個方面的狀態(tài)評估。例如,傳感器組件1014可以檢測到裝置1000的打開/關(guān)閉狀態(tài),組件的相對定位,例如所述組件為裝置1000的顯示器和小鍵盤,傳感器組件1014還可以檢測裝置1000或裝置1000一個組件的位置改變,用戶與裝置1000接觸的存在或不存在,裝置1000方位或加速/減速和裝置1000的溫度變化。傳感器組件1014可以包括接近傳感器,被配置用來在沒有任何的物理接觸時檢測附近物體的存在。傳感器組件1014還可以包括光傳感器,如CMOS或CCD圖像傳感器,用于在成像應(yīng)用中使用。在一些實施例中,該傳感器組件1014還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件1016被配置為便于裝置1000和其他設(shè)備之間有線或無線方式的通信。裝置1000可以接入基于通信標準的無線網(wǎng)絡(luò),如WiFi,2G或3G,或它們的組合。在一個示例性實施例中,通信組件1016經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號或廣播相關(guān)信息。在一個示例性實施例中,所述通信組件1016還包括近場通信(NFC)模塊,以促進短程通信。例如,在NFC模塊可基于射頻識別(RFID)技術(shù),紅外數(shù)據(jù)協(xié)會(IrDA)技術(shù),超寬帶(UWB)技術(shù),藍牙(BT)技術(shù)和其他技術(shù)來實現(xiàn)。
在示例性實施例中,裝置1000可以被一個或多個應(yīng)用專用集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理設(shè)備(DSPD)、可編程邏輯器件(PLD)、現(xiàn)場可編程門陣列(FPGA)、控制器、微控制器、微處理器或其他電子元件實現(xiàn),用于執(zhí)行上述方法。
在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質(zhì),例如包括指令的存儲器1004,上述指令可由裝置1000的處理器1020執(zhí)行以完成上述方法。例如,所述非臨時性計算機可讀存儲介質(zhì)可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。
一種非臨時性計算機可讀存儲介質(zhì),當所述存儲介質(zhì)中的指令由移動終端的處理器執(zhí)行時,使得裝置能夠執(zhí)行一種圖像顯示方法,該方法包括:
從系統(tǒng)按照固定大小分配位圖,其中,所述位圖的大小是所述系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù);
將所述位圖按照所述最小公倍數(shù)劃分為大小相等的簇,其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片;
根據(jù)一幅需要顯示的圖像的大小確定用于顯示所述需要顯示的圖像的相應(yīng)切片;
利用被創(chuàng)建用于圖像解碼的位圖來對所述需要顯示的圖像進行解碼;
將解碼后的圖像畫到所述相應(yīng)切片;
顯示被畫好的所述相應(yīng)切片中的有效區(qū)域,其中,所述有效區(qū)域包含所述需要顯示的圖像。
圖6是根據(jù)本公開另一示例性實施例示出的一種圖像顯示優(yōu)化裝置的框圖。例如,裝置1100可以被提供為一服務(wù)器。參照圖6,裝置1100包括處理組件1122,其進一步包括一個或多個處理器,以及由存儲器1132所代表的存儲器資源,用于存儲可由處理組件1122執(zhí)行的指令,例如應(yīng)用程序。存儲器1132中存儲的應(yīng)用程序可以包括一個或一個以上的每一個對應(yīng)于一組指令的模塊。此外,處理組件1122被配置為執(zhí)行指令,以執(zhí)行上述方法。
裝置1100還可以包括一個電源組件1126被配置為執(zhí)行裝置1100的電源管理,一個有線或無線網(wǎng)絡(luò)接口1150被配置為將裝置1100連接到網(wǎng)絡(luò),和一個輸入輸出(I/O)接口1158。裝置1100可以操作基于存儲在存儲器1132的操作系統(tǒng),例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM或類似。
一種非臨時性計算機可讀存儲介質(zhì),當所述存儲介質(zhì)中的指令由服務(wù)器的處理器執(zhí)行時,使得服務(wù)器能夠執(zhí)行一種圖像顯示方法,該方法包括:
從系統(tǒng)按照固定大小分配位圖,其中,所述位圖的大小是所述系統(tǒng)中的各種圖像的大小的最小公倍數(shù)的倍數(shù);
將所述位圖按照所述最小公倍數(shù)劃分為大小相等的簇,其中,同一個簇容納多個大小相同的圖像,每一個簇中用于顯示圖像的部分被稱作切片;
根據(jù)一幅需要顯示的圖像的大小確定用于顯示所述需要顯示的圖像的相應(yīng)切片;
利用被創(chuàng)建用于圖像解碼的位圖來對所述需要顯示的圖像進行解碼;
將解碼后的圖像畫到所述相應(yīng)切片;
顯示被畫好的所述相應(yīng)切片中的有效區(qū)域,其中,所述有效區(qū)域包含所述需要顯示的圖像。
本領(lǐng)域技術(shù)人員在考慮說明書及實踐這里公開的公開后,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。