1. 程式人生 > >Android 載入本地圖片(檔案管理器中的圖片牆)

Android 載入本地圖片(檔案管理器中的圖片牆)

Android 載入本地圖片(檔案管理器中的圖片牆)

--關於圖片牆的一些感悟與疑問,希望大家共同探討。

By伊葉也)

圖片顯示及監聽

1、圖片顯示:基本上就5種顯示形式(如果同時嵌入5種形式,採用什麼設計模式好些(策略模式?))

(1)縱向不規則堆放圖片

25列,建議以畫素大小為限(?),要為每一流進行標記(長度),[圖片壓縮採用縱向大小(?)為基本單位,進行等比例壓縮]

(2)橫向縱向不規則堆放圖片

採用自左到右、自上到下襬放策略(?)

(3)橫向不規則堆放圖片

(4)對圖片打包成圖片資料夾顯示

(5)gridView形式

2、對已經載入成功的圖片在ImageView中顯示動態效果。(開啟幾個執行緒?(是否考慮

Cpu核心數))

3、圖片的點選效果的檢測(對已經載入的圖片設定監聽事件(經測試可行),每個圖片View設定響應事件,每個View下設定setTag(另外如果View在快取中已經消失,監聽是否還存在?)

圖片(縮圖)硬碟儲存

1、對每個圖片開啟執行緒進行圖片壓縮,並採用LRU演算法將圖片存入本地緩衝檔案,設定硬碟快取檔案大小,如果剩餘空間不足,將不快取。(最多60M(根據裝置可變動),剩餘空間不足60M,按照可用空間的1/3進行儲存)

2、本地快取縮圖的加密(如何加密??)

圖片(縮圖)記憶體儲存

如果記憶體足夠:使用LRU演算法將圖片存入記憶體中

(1)裝置可以為每個應用程式分配多大的記憶體?(如果剩餘空間較少,就載入可用記憶體的

1/3(是否可以?),如果剩餘空間過大,___(設定多少合適??)

(2)圖片被訪問的頻率有多高?會不會有一些圖片的訪問頻率比其它圖片要高?如果有的話,你也許應該讓一些圖片常駐在記憶體當中,或者使用多個LruCache 物件來區分不同組的圖片。(預設檔案圖示可以採用這種形式)

如果記憶體不足:_____(是否可以採用軟引用進行圖片載入??)

(3)裝置螢幕上一次最多能顯示多少張圖片?有多少圖片需要進行預載入,因為有可能很快也會顯示在螢幕上?

你的裝置的螢幕大小和解析度分別是多少?一個超高解析度的裝置比起一個較低解析度的裝置,在持有相同數量圖片的時候,需要更大的快取空間。

圖片載入

1、開啟執行緒檢測記憶體中是否含有該圖片(是否需要進行檢測原圖片??),如果存在,直接重新整理到

View中;如果不存在,就檢測原圖片是否存在,如果存在就讀取本地縮圖緩衝檔案,並載入到View中,如果不存在,將快取縮圖刪去。

圖片刪除、新增、移動

1、進行硬碟緩衝圖片的增刪

2、進行記憶體緩衝圖片的增刪

圖片搜尋演算法:(何時啟用??(硬碟重新載入??(如果存在第三方軟體對圖片進行增刪改查,怎麼辦??))是否每次都啟用??)

1、根據快取圖片的目錄進行快速搜尋,然後對其他硬碟目錄進行n(多少合適??)層目錄搜尋,對存在圖片的目錄是否進行加深搜尋(多少合適??)

2、全域性遍歷搜尋:先對快取圖片的目錄進行搜尋,後進行全域性遍歷。

3、???

相關推薦

Android 載入本地圖片(檔案管理圖片)

Android 載入本地圖片(檔案管理器中的圖片牆) --關於圖片牆的一些感悟與疑問,希望大家共同探討。 (By伊葉也) 圖片顯示及監聽 1、圖片顯示:基本上就5種顯示形式(如果同時嵌入5種形式,採用

檔案管理顯示圖片的縮圖和視訊第一幀的縮圖

首先在vender/mediatek/properties/packags/apps/FileManager/src/com/mediatek/filemanager/IconManager.java中匯入兩個類import android.media.ThumbnailU

刪除Win10檔案管理的文件音樂視訊OneDrive快速訪問等

一、刪除Win10檔案管理器中的文件/音樂/視訊等在Windows 10下開啟這臺電腦,除了會顯示磁碟碟符外,在資源管理器上半部分還會顯示6個資料夾,這6個資料夾就像6個核桃一樣,對一些人有用,對一些人沒有用。有些強迫症的童鞋表示不能忍受,下面介紹怎樣刪除這幾個資料夾。環境:Windows10專業版開啟登錄檔

ubuntu 18.04視訊檔案無法在檔案管理預覽的解決辦法

手動升級到18.04之後發現視訊的預覽無法載入 不知道為什麼 後來查了一下,發現瞭解決辦法 首先我們先安裝如下包 sudo apt install ffmpegthumbnailer 之後我們刪除一

linux 修改檔案管理 資料夾名稱

方法一: 首先修改現有主資料夾下各資料夾名稱: Desktop、 Documents、 Download、 Music、 Pictures、 Public、 Templates、 Videos …… 然後編輯配置檔案: vim ~/.config/user-dirs.di

如何在Ubuntu檔案管理檢視隱藏檔案和資料夾

Ubuntu檔案管理器 本文介紹如何在Ubuntu 18.04 LTS系統上檢視Ubuntu檔案瀏覽器中的隱藏檔案和資料夾。您可以從Ubuntu桌面上的“活動”檢視訪問檔案瀏覽器。 檢視隱藏內容的最簡單方法是在檔案瀏覽器開啟時使用Ctrl + h組合鍵。在下圖中,您可以看到現在顯示的所有隱藏內容:

Android進入本地檔案管理及不同檔案檢視

1、進入本地檔案(新增檔案): Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); intent.addCategory(Intent.CATEGORY_OPENABLE

18、android呼叫系統自帶檔案管理並返回選中檔案的路徑

思路: 通過Android API呼叫系統自帶的檔案瀏覽器選取檔案獲得URI,然後將URI轉換成file,從而得到file。 import android.annotation.SuppressLint;import android.app.Activity;impo

android檔案管理開發遇到的一些問題

1.難點主要有如何獲取外掛裝置的資訊以及路徑無論是U盤還是TF卡等等 獲取方式在其他部落格中請自己檢視。 2.在Android6.0中想要對外部裝置進行的檔案的操作是比較難的 因為6.0中Android系統對外部儲存器操作的許可權進行了修改,所以只能進行讀操作,無法進行對外

UIWebView載入本地HTML檔案本地圖片的索引

//    013-11-18 16:58:23.959 Sports[480:907] imgPath:/var/mobile/Applications/D0233988-9785-465A-BF95-81DF334B367C/Sports.app/SPBGLogo.png //    2013-11-1

ANDROID呼叫檔案管理並返回選中檔案的路徑

package com.panhouye.selectfile; import android.annotation.SuppressLint; import android.app.Activity; import android.content.ContentUris; import android.c

如何刪除Windows10操作系統資源管理的下載、圖片、音樂、文檔、視頻、桌面、3D對象這7個文件夾

war reg ren 操作系統 esp 桌面 bcf pac cal 通過註冊表刪除,步驟如下: 1、按下win+R,輸入regedit,打開註冊表 2、找到位置:計算機\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr

Android Studio載入本地aar檔案

如果要在Android Studio中引用本地的aar檔案:mylib.aar,步驟如下: 1.在需要引用mylib.aar的Module,比如:MyModule的根目錄下新建目錄:libs,然後把mylib.aar複製到此目錄下。 2.在MyModule的build.gradle中,新增如下定

eclipse增加工程檔案在windows資源管理開啟

方法有二: 一: 1.點選configurations,不同版本可能不一樣,大概就在這裡啦 2. 按截圖填寫即可,最後點選run,就開啟當前檔案所在的目錄啦 第二種方法: 安裝pathtools外掛, 外掛在http://code.google.com/p/path

Windows 檔案資源管理搜索帶特殊字元檔名的方法

今天處理一些檔案,資料夾這包含有類似《~$16年普通高等學校招生全國統一考試-英語》的檔名,想全部找出來刪除掉,直接在檔案資源管理器裡面輸入“~$”是搜尋不到想要的檔案的,這些是特殊字元,所以,就想是不是像程式設計一樣也有轉義符之類的,就進行網上搜索和測試,終於找到解決辦法,輸入~"*~$*"即可搜

C#如何在資源管理開啟資料夾並定位檔案

private void OpenFolderAndSelectFile(String fileFullName) {     System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessSt

HD檔案管理 v0.1.3----- 一款介面簡約,功能強大的免費檔案管理Android

Android平臺上具有完整功能的檔案管理,漂亮的UI介面設計以及良好的使用者體驗。 支援android 1.5及以上平臺 包括: * 將Linux平臺上最流行的圖示集之一 Faenza 作為檔案管理

android檔案管理需求分析之一

(部分初稿) 正在做一個android檔案管理器,程式碼基本完成,但由於一直以來面向過程開發的,到後期程式碼量不斷增大,Bug頻繁出現,修改程式碼變得非常繁瑣、困難。 於是我想從需求分析開始重新對專案進行整合、編碼。 算是第一次寫需求分析,必然會出現很多Bug,希望前輩們能

Android呼叫系統自帶的檔案管理,開啟指定路徑

一、開啟系統自帶的檔案管理器 if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { showToast(R.string.msg_

android】簡易檔案管理(列表式檔案目錄)

、    核心程式碼:                                 File fatherFile = new File(path); File[] files = fatherFile.listFiles();         效果圖: