亚洲免费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
        久久国产精品免费专区| 色综合久久丁香婷婷| 九九在线精品视频xxx| 一区二区三区免费自拍偷拍视频| 国产精品视频自拍在线| 曰本无码人妻丰满熟妇啪啪| 就去吻亚洲精品欧美日韩在线| 亚洲在战AV极品无码| 国产精品毛片av毛片一区二区| 精品国品一二三产品区别在线观看 | 丁香婷婷激情视频在线播放| 国产性生交xxxxx无码| 久久久久这里只有精品网| 亚洲中文字幕有综合久久| 久久一道精品一区三区| 特级毛片爽www免费版| 亚洲男人天堂2017| 亚洲黑寡妇黄色一级片| 亚洲综合精品中文字幕| 国产精品久久国产三级国不卡顿| 国产精品一区二区av片| 亚洲天堂av路线一免费观看| 老妇高潮潮喷到猛进猛出| 亚洲精品无码久久久久av麻豆| 国产自在自线午夜精品视频在| 国产在线观看一区二区三区av| 日本天堂免费观看| 精品无码国产污污污免费| 日本护士一区二区三区高清热线| 中文字幕乱码日本亚洲一区二区| 18禁无遮拦无码国产在线播放 | 色系免费一区二区三区| 国产在线一区二区三区香蕉| 大学生粉嫩无套流白浆| 亚洲av无码乱码国产麻豆穿越 | 水蜜桃视频在线观看入口| 国产综合精品| 亚洲综合性色一区| 亚洲精品在线观看自拍| 五月天激情电影| 国产精品 高清 尿 小便 嘘嘘|