2016-03-10 24 views
0

Android開發新手。只是尋求建議。我想開發一個android應用程序,它會向用戶顯示大量圖像(點擊或滑動時)。換句話說,用戶應該能夠瀏覽由應用程序提供的大量圖像(不在用戶手機上)。一個例子是現有的Android應用程序的鼓舞人心的報價等。Android編程使用大量圖片

我想知道所有這些圖像將保存在開發者一端? 什麼是允許用戶瀏覽這些圖像的最快方式? 是否有任何在線示例/教程?

我看到很少的教程,但他們只是爲5-6圖像,但我需要提供的用戶是500-1000圖像或甚至更多(將添加如果應用程序成功)。

任何指針將不勝感激。

+1

你應該長時間使用圖像加載庫,如畢加索或滑行 – Bhargav

+1

'提供的應用程序'意味着什麼?你打算從'resource'目錄還是從服務器加載圖片? – ELITE

+0

這就是我想問的,抱歉,如果不清楚。是否有可能在資源目錄中有很多圖像?有哪些選項可以從服務器提取/加載圖像? – Arp

回答

0

可行方法

  • 要存儲在服務器上這些圖像和來自服務器的URL加載它。

你也可以使用畢加索下面的代碼

com.squareup.picasso.Picasso.with(context). 
    load(imaegPath). 
    placeholder(R.mipmap.ic_launcher). 
    into(imageView); 

這裏imagePath加載這些圖像是圖像的URL。

,詳細瞭解Picasso閱讀this answer

但是,你需要互聯網連接。

注意:這可能不是加載圖像的最快方式,因爲它取決於Internet連接。

  • 您可以將圖像存儲在resources目錄中並加載圖像。 imageview.setImageResource(R.id.image1);

但如果圖像尺寸較大,您的應用程序的大小也會相應。

+0

「但是,如果圖片尺寸很大,您的應用尺寸將會相應增加。」你的意思是圖像的數量很大或每個圖像的大小? – Arp

+0

我的意思是說所有圖像的總大小.. – ELITE

0

看來你需要大容量的存儲器和控制策略。

第一個,我建議你拿到你的記憶課。 memoryClass顯示你的應用程序可以使用多少內存。有了這個值,你可以確定你的圖像緩存量。

ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
int memoryClass = am.getMemoryClass(); 
Log.v("onCreate", "memoryClass:" + Integer.toString(memoryClass)); 

另請參見:Detect application heap size in Android


,Android 2.2及2.3的ImageView的有內存泄漏。(當然,現在這些版本已經很老了,很難找到)

Android bitmap imageview memory leak

您可以下載這個例子: https://github.com/StanleyKou/GettyImageViewer
在這個例子中,你可以看到如何使用畢加索庫從許多圖像網站。