APP怎樣進行本機存放區和圖片緩衝?

來源:互聯網
上載者:User

標籤:cloud   大小   標準   指定   使用者   call   code   關於   tps   

 

  資料的本機存放區和圖片緩衝可以極大地提高 app 的使用者體驗、提高 UI 響應速度、減少網路使用。

  1.uzStorage

  uzStorage 比標準的 localStorage 更安全易用。

  舉個栗子: localStorage 有大小限制、非同步會導致一些安全、不能儲存物件等問題,但這些問題均在 uzStorage 中得到瞭解決。

  2.喜好設定

  3.檔案

  APICloud 提供了標準的檔案操作介面,支援同步和非同步調用方式。使用下面的 API 操作檔案:

  api.readFile({?sync:false,// 是否同步,預設 false?path:"PathToFile"// 檔案路徑,支援絕對路徑和檔案路徑協議如 fs://、widget:// 等

  }, function(ret,err){

  //ret = {status:true,data:""}

  }); //err = {code:0,msg:""}

  api.writeFile({?path:"PathToFile",// 檔案路徑,支援絕對路徑和檔案路徑協議如 fs://、cache:// 等,不支援 widget:// 目錄,

  該目錄唯讀?data:"data",// 檔案內容

  append:false// 是否以追加方式寫入資料,預設 false,會清除之前檔案內容 }, function(ret,err){

  //ret = {status:true}

  }); //err = {code:0,msg:""}

  4.database

  使用“db”模組操作資料庫,“db”模組封裝了手機常用資料庫 sqlite 的增刪改查語句,可實現資料的本機存放區,極大地簡化了資料持久化問題,並且支援同步介面。

  5.儲存容量

  APICloud 提供了關於儲存容量的 API,代碼如下:

  api.getFreeDiskSpace({?sync:false// 執行結果的返回方式。為 false 時通過 callback 返回,為 true 時直接返回,預設 false

  }, function(ret,err){?//ret = {size:1024} 剩餘儲存空間大小,單位為Byte,數字類型。(-1:無存放裝置、-2:正在準備USB存

  儲裝置、-3 :無法訪問存放裝置) });

  api.getTotalSpace({?sync:false //執行結果的返回方式。為false時通過callback返回,為true時直接返回,預設false

  }, function(ret,err){?//ret = {size:1024} 總儲存空間大小,單位為Byte,數字類型。(-1:無存放裝置、-2:正在準備USB儲存

  裝置、-3 :無法訪問存放裝置) });

  api.getCacheSize({?sync:false// 執行結果的返回方式。為 false 時通過 callback 返回,為 true 時直接返回,預設 false

  }, function(ret,err){?//ret = {size} 緩衝大小,單位為Byte,數字類型。(-1:無存放裝置、-2:正在準備USB存放裝置、-3:無

  法訪問存放裝置)

  });

  api.clearCache({ timeThreshold:10//(可選項)清除多少天前的緩衝,預設 0

  }, function(ret,err){ }); //清除完成

  6.沙箱機制

  在 Android 和 iOS 中均採用虛擬沙箱的機制來保障資料存放區的安全和獨立,App 只能訪問 自己檔案系統的沙箱地區。沙箱位置如下。

  ? Android 的預設沙箱位置:sdcard/UZMap/appId。 ?

  ? iOS 的預設沙箱位置:Documents/uzfs/appId。 ?

  7.資源訪問協議 ?

  APICloud 資源被存放在 app 安裝包(ipa 包或者 apk 包)中或應用沙箱中。沙箱分為 APICloud 應用虛擬沙箱和 Native 應用真實沙箱,真實沙箱是作業系統為 app 在裝置內部儲存上分配的空間,不可見,只允許 app 本身訪問。

  ?8.圖片緩衝 ?

  對於圖片緩衝,可使用如下代碼:

  ? ? var img = $api.byId("myImg");

  ? api.imageCache({

  ? ? url:‘http://example.com/dir/file.png‘

  ? },function(ret,err){

  ? ? if(ret && ret.status == true){

  ? } img.src = ret.url;

  ? ?else{?} //處理錯誤 ?}); ?

  上述代碼首先在參數中指定了要緩衝的遠程圖片路徑(url),在之後的回呼函數中判斷是否緩衝成功(if(ret && ret.status == true){}),如果成功就可以使用 ret.url 來更新

  標籤。ret.url 是圖片緩衝到本地後的路徑。

  更多app資訊,請關注www.apicloud.com

  提交app定製需求,瞭解報價和周期:

  https://app.apicloud.com/index?uzchannel=500

 

APP怎樣進行本機存放區和圖片緩衝?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.