亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于BaaS服務(wù)的iOS平臺美食分享系統(tǒng)設(shè)計與實現(xiàn)

        2015-09-26 05:18:30張進(jìn)飛黃曉霞
        現(xiàn)代計算機(jī) 2015年19期
        關(guān)鍵詞:縮略圖內(nèi)存美食

        張進(jìn)飛,黃曉霞

        (上海海事大學(xué)信息工程學(xué)院計算機(jī)系,上?!?01306)

        基于BaaS服務(wù)的iOS平臺美食分享系統(tǒng)設(shè)計與實現(xiàn)

        張進(jìn)飛,黃曉霞

        (上海海事大學(xué)信息工程學(xué)院計算機(jī)系,上海201306)

        0 引言

        得益于移動4G技術(shù)推廣,人們使用移動互聯(lián)網(wǎng)更加便利。當(dāng)移動互聯(lián)網(wǎng)與餐飲行業(yè)結(jié)合在一起時,市場前景十分誘人,在此行業(yè)處于領(lǐng)先地位的企業(yè),估值已達(dá)幾十億美元[1]。這個方向可以做許多事情,如訂餐、美食推薦、團(tuán)購、點評等。

        本系統(tǒng)以美食推薦作為入口,利用iOS設(shè)備提供的定位功能,向用戶推送當(dāng)前所處位置周邊范圍內(nèi)其他用戶分享的美食信息,使用戶了解身邊的美食,以提供更多的選擇。

        1 開發(fā)平臺及技術(shù)

        系統(tǒng)采用Objective-C編程語言開發(fā)。Objective-C是編寫OS X和iOS平臺軟件的主要語言,它是C語言的一個超集,提供面向?qū)ο缶幊毯蛣討B(tài)運行時。開發(fā)工具采用Xcode 6.1,它包含iOS 8.1 SDK,可直接用于開發(fā)iOS程序。數(shù)據(jù)的服務(wù)器端保存使用到BaaS服務(wù)。BaaS(Backend as a Service)是一種新型的云服務(wù),它使用統(tǒng)一的API和SDK來連接移動應(yīng)用到后端云存儲,通過云來集成后端服務(wù)[2]。本系統(tǒng)采用AVOS公司提供的LeanCloud服務(wù)[3]。

        2 運用BaaS服務(wù)處理數(shù)據(jù)

        通過LeanCloud云服務(wù),系統(tǒng)實現(xiàn)數(shù)據(jù)的保存與查詢獲取十分方便和可靠。

        在LeanCloud上,使用AVObject對象進(jìn)行數(shù)據(jù)存儲,在使用時,不需提前指定AVObject對象包含哪些鍵,只需在使用時直接設(shè)定鍵值即可[4]。

        (1)保存對象

        首先建立AVObject對象,為該對象設(shè)置鍵值,然后調(diào)用AVObject的保存方法保存:

        在LeanCloud上,查詢使用的是AVQuery對象,首先需要指定查詢的類名稱以初始化該對象,然后設(shè)定查詢條件:

        3 針對UITableView類的性能與界面優(yōu)化

        UITableView類在iOS開發(fā)中使用頻率非常高,iOS系統(tǒng)自身的軟件如時鐘、日歷、Mail等均使用此視圖。在本系統(tǒng)中,首頁的數(shù)據(jù)展示、個人分享歷史中均用到UITableView。

        為了節(jié)省內(nèi)存,iOS系統(tǒng)中UITableView采用重用cell的方法,這也容易造成子視圖重疊錯亂的問題。此外,UITableView在加載圖片時還面臨下載圖片阻塞系統(tǒng)UI主線程、圖片加載過多導(dǎo)致系統(tǒng)內(nèi)存占用過多等問題[5]。

        本系統(tǒng)為解決上述幾個問題,運用到多線程、本地緩存以及使用縮略圖等技術(shù)。

        在2.2節(jié)查詢方法中不再使用[query findObjects],這會阻塞UI主線程,改為后臺查詢方法。

        通過上傳信息時生成縮略圖,在信息流中顯示占用內(nèi)存空間幾k大小的縮略圖替代可能上百k的原始圖片。這樣既減少內(nèi)存的占用,又避免下載信息時等待時間過長使得用戶體驗較差。生成縮略圖方法:

        通過這種方法,上百k大小的圖片可以縮小至10k以內(nèi)。

        原始圖片數(shù)據(jù)通過file id下載,并將它緩存至本地文件系統(tǒng):

        對于獲取到的NSdata格式數(shù)據(jù),調(diào)用存儲對象ZJFImageStore的實例方法

        將數(shù)據(jù)保存到本地文件系統(tǒng)。類ZJFImageStore的imagePathForKey:(NSString*)方法根據(jù)傳入的參數(shù),生成本地存儲文件的路徑。屬性 imageStore是 NSMutableDictionary對象,在將data數(shù)據(jù)存儲至文件系統(tǒng)的同時將數(shù)據(jù)保存在字典對象imageStore中。

        下次請求加載圖片時,先檢查imageStore中是否已存在數(shù)據(jù)對象,因為imageStore對象本身保存在內(nèi)存中,所以可以直接從內(nèi)存中完成加載。否則,緩存則嘗試本地文件系統(tǒng)加載數(shù)據(jù),如果本地文件系統(tǒng)也沒有此數(shù)據(jù),則根據(jù)fileId利用本節(jié)中描述的數(shù)據(jù)存取方法獲取數(shù)據(jù)。

        將圖片信息保存在imageStore字典對象中的另一個好處是,在遇到低內(nèi)存狀況時可以方便地清除這些已加載的資源。

        當(dāng)下一次檢索請求到達(dá)時,緩存重新加載保存即可。

        4 結(jié)語

        系統(tǒng)開發(fā)過程使用BaaS云服務(wù)作為數(shù)據(jù)的永久性存儲解決方案,可以降低應(yīng)用開發(fā)成本。作為移動應(yīng)用開發(fā)者,可以在開發(fā)初期嘗試使用這項服務(wù)。另外,作為一款iOS應(yīng)用,內(nèi)存管理與應(yīng)用體驗是開發(fā)者需要關(guān)心的核心問題,本系統(tǒng)通過運用本文提出的解決方法,最終形成一款易用可靠的iOS美食分享系統(tǒng)。

        [1]美團(tuán)VS餓了么:餐飲界“老大”頭銜爭奪戰(zhàn)http://money.163.com/15/0228/08/AJHCSBDJ00253G87.html.

        [2]BaaS服務(wù)的定義、發(fā)展以及未來http://www.infoq.com/cn/articles/the-definition-development-and-future-of-baas-services.

        [3]About LeanCloud https://leancloud.cn/about.html.

        [4]Joe Conway,Aaron Hillegass等著.iOS編程.夏偉頻譯.武漢:華中科技大學(xué)出版社,2013.3.

        [4]IOS/OS X數(shù)據(jù)存儲開發(fā)指南https://leancloud.cn/docs/ios_os_x_guide.html.

        [5]黃天柱.iOS開發(fā)UITableView加載圖片的內(nèi)存管理.計算機(jī)系統(tǒng)應(yīng)用,2012,21(9):113-118.

        iOS;BaaS;UITableView;Cache

        Design and Implementation of Food Share System on iOS Platform Based on BaaS Service

        ZHANG Jin-fei,HUANG Xiao-xia
        (Department of Information Engineering Shanghai Maritime University,Shanghai 201306)

        1007-1423(2015)19-0078-03

        10.3969/j.issn.1007-1423.2015.19.019

        張進(jìn)飛(1991-),男,安徽宿州人,本科,在讀碩士,研究方向為iOS開發(fā)、推薦系統(tǒng)

        2015-04-23

        2015-05-19

        該系統(tǒng)是一款iOS平臺的美食分享系統(tǒng),旨在利用iOS設(shè)備的定位功能為用戶提供周邊的美食信息,滿足用戶通過這款應(yīng)用發(fā)現(xiàn)周邊美食的需求。系統(tǒng)利用BaaS服務(wù)保存和獲取數(shù)據(jù),并運用本地緩存、縮略圖等方法解決UITableView類的內(nèi)存管理和頁面加載問題。

        iOS;BaaS;UITableView;緩存

        黃曉霞(1968-),女,甘肅天水人,博士,副教授,研究方向為嵌入式系統(tǒng)、計算機(jī)原理

        The system is an iOS gourmet share system,aims to use iOS devices positioning function to provide users with the surrounding food information,meets the need of users to find nearby food..The application uses BaaS service to save and retrieve data,and uses the method of local caching,thumbnail to solve the problem of the memory management and page load of the UITableView class.

        猜你喜歡
        縮略圖內(nèi)存美食
        開啟Office文檔縮略圖預(yù)覽
        “春夏秋冬”的內(nèi)存
        美食大作戰(zhàn)
        兒童繪本(2017年10期)2017-07-05 18:38:01
        美食
        Coco薇(2017年6期)2017-06-24 23:29:55
        美食都被玩壞了
        美食的誘惑
        快速修改IE11選項卡下的網(wǎng)站縮略圖
        電腦迷(2014年4期)2014-04-29 16:46:56
        基于內(nèi)存的地理信息訪問技術(shù)
        在TC界面以縮略圖查看圖像文件
        電腦迷(2012年22期)2012-04-29 20:30:54
        千篇一律,不如用縮略圖
        電腦迷(2012年22期)2012-04-29 00:44:03
        久久中文字幕无码专区| 久久中文字幕暴力一区| 99精品国产在热久久无毒不卡| 人妻激情另类乱人伦人妻| 欧美亚洲午夜| 久久精品国产亚洲av调教| 日本一区二区三区人妻| 日韩精品视频免费在线观看网站| 亚洲国产美女高潮久久久| 亚洲热线99精品视频| 国产无遮挡裸体免费视频| 亚洲三级香港三级久久| 玩弄放荡人妻一区二区三区| 日本一二三区免费在线| 97久人人做人人妻人人玩精品| 老子影院午夜精品无码| 久久精品国产热久久精品国产亚洲 | 依依成人精品视频在线观看| 久久成年片色大黄全免费网站 | 草色噜噜噜av在线观看香蕉| 亚洲熟伦熟女新五十路熟妇| 99热这里只有精品久久6| 在线观看一区二区三区在线观看| 国产精品成人无码久久久久久| 公粗挺进了我的密道在线播放贝壳| 国产成人精品日本亚洲专区6| av网址不卡免费在线观看| 国产精品成人一区二区在线不卡| 99久热在线精品视频观看| 日本丰满熟妇bbxbbxhd| 成人国产永久福利看片| 亚洲肥婆一区二区三区| 蜜桃日本免费观看mv| 乱人伦视频中文字幕| 国产亚洲欧美另类久久久| 国产av三级精品车模| 亚洲精品中文字幕乱码影院| 国产日产欧洲系列| 国产亚洲一本大道中文在线| 亚洲成片在线看一区二区| 亚洲精品视频中文字幕|