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

        ?

        基于iOS9與iOS10的CoreData技術(shù)變化

        2017-04-13 15:08:50范寶元
        中文信息 2017年2期
        關(guān)鍵詞:性能優(yōu)化

        摘 要: CoreData是一個蘋果原生的框架,它擁有像數(shù)據(jù)庫一樣存儲數(shù)據(jù)的功能,但本身并不是數(shù)據(jù)庫。本文探究了在iOS9與iOS10中CoreData的性能優(yōu)化和發(fā)生的改變,并對這種變化進行相應(yīng)的封裝,以便兼容iOS9和iOS10。

        關(guān)鍵詞:iOS9 iOS10 CoreData 性能優(yōu)化

        中圖分類號:TP273 文獻標識碼:A 文章編號:1003-9082(2017)02-0009-01

        CoreData是iOS5之后才出現(xiàn)的一個框架,它提供了對象-關(guān)系映射(ORM)的功能,即能夠?qū)C對象轉(zhuǎn)化成數(shù)據(jù),保存在SQLite數(shù)據(jù)庫文件中,也能夠?qū)⒈4嬖跀?shù)據(jù)庫中的數(shù)據(jù)還原成OC對象。在此數(shù)據(jù)操作期間,開發(fā)者不需要編寫任何SQL語句。在CoreData的技術(shù)堆棧主要分為一下幾個部分,一個是NSManagedObjectContext管理的模型部分,管理著所有CoreData的托管模型對象;另一個是存儲調(diào)度器NSPersistentStoreCoordinator,和SQL數(shù)據(jù)庫進行數(shù)據(jù)交互,負責操縱存儲器類NSPersistentStore實現(xiàn)SQLite的本地持久化。這就構(gòu)成了CoreData的大體結(jié)構(gòu)。在iOS10中,其技術(shù)堆棧發(fā)生了一些細微變化,詳情見下文分析。

        一、iOS9中的CoreData

        在iOS9中,CoreDataStack是CoreData的核心,由一組CoreData核心對象組成,其技術(shù)堆棧圖如下所示:

        1.NSManagedObjectContext 對象管理上下文: 負責管理模型對象的集合;

        2.NSManagedObjectModel 被管理的對象模型: 負責管理對象模型;

        3.NSPersistentStoreCoordinator 存儲調(diào)度器: 負責將數(shù)據(jù)保存到磁盤的;

        其核心部分大致分為兩個:一個是對象圖管理,另一個是數(shù)據(jù)持久化;在這兩部分的中間,即堆棧中間,是持久化存儲協(xié)調(diào)器(Persistent Store Coordinator, PSC)。通過它將對象圖管理部分和持久化部分綁在一起。當這兩部分中的一部分需要和另一部分交互,將通過PSC來調(diào)節(jié);并且,在iOS9之前,SQLite的文件存儲在Documents,在iOS10之后,便把存儲地址改為Library/Application/Support中。

        二、iOS10中的CoreData

        在iOS10中,系統(tǒng)默認生成的是一個CoreData存儲容器NSPersistentContainer,NSPersistentContainer是iOS10.0新加的一個類,它的作用是管理CoreDataStack,可以理解為是CoreDataStack的容器,其對數(shù)據(jù)的增刪改查與在iOS9中的過程相同,但是NSPersistentContainer不兼容iOS9,如果在iOS9中使用會閃退,需要進行適配處理,其核心代碼如下:

        三、NSPersistentContainer性能比較

        下圖為筆者通過使用iOS9與iOS10的CoreData往數(shù)據(jù)庫中插入十萬行數(shù)據(jù)所耗時間的對比圖:

        分析上圖的對比結(jié)果,可以得出,傳統(tǒng)的在主線程操作CoreData插入十萬行數(shù)據(jù),足足等了22s多;然而使用iOS10的NSPersistentContainer的多線程操作數(shù)據(jù)庫插入十萬行數(shù)據(jù)只需要2s多,比傳統(tǒng)的CoreData速度快了將近10倍。

        結(jié)束語

        在iOS開發(fā)中,目前市場上有三種主流的數(shù)據(jù)庫操作:FMDB、realm、和CoreData,然而CoreData的使用率目前普遍較低。對于一種數(shù)據(jù)庫技術(shù)的選擇,無非就是使用時是否方便和操作大量數(shù)據(jù)時,是否耗時耗性能。但是通過上面的對比測試可以看出,在iOS10推出之后,蘋果公司對其原生的CoreData在性能上進行了大量優(yōu)化。

        作者簡介:范寶元(1993.1-),男,福建,研究方向:智能信息服務(wù)系統(tǒng)。

        猜你喜歡
        性能優(yōu)化
        大數(shù)據(jù)環(huán)境下高校選課系統(tǒng)性能優(yōu)化應(yīng)用研究
        數(shù)據(jù)挖掘算法性能優(yōu)化的研究與應(yīng)用
        SQL Server數(shù)據(jù)庫性能優(yōu)化的幾點分析
        Web應(yīng)用的前端性能優(yōu)化
        660MW超超臨界火電機組RB性能優(yōu)化
        WEB網(wǎng)站緩存性能優(yōu)化
        淺析Lustre的優(yōu)化設(shè)置
        Oracle數(shù)據(jù)庫性能調(diào)整與優(yōu)化分析
        科技視界(2016年1期)2016-03-30 14:27:50
        基于節(jié)點緩存的Web服務(wù)器性能優(yōu)化研究
        基于SQL數(shù)據(jù)庫的性能優(yōu)化的探討
        科技資訊(2015年7期)2015-07-02 18:48:14
        狠狠色丁香久久婷婷综合蜜芽五月 | 人人超碰人人爱超碰国产| 国产精成人品日日拍夜夜免费| 岛国AV一区二区三区在线观看| aⅴ色综合久久天堂av色综合| 国产中文字幕免费视频一区| 成人免费无码视频在线网站| 亚洲熟妇丰满大屁股熟妇| 久久亚洲av成人无码软件| 亚洲av少妇一区二区在线观看| 把女人弄爽特黄a大片| 亚洲av无码精品色午夜果冻不卡| 国产精品久久久亚洲第一牛牛| 暴露的熟女好爽好爽好爽| 天天做天天摸天天爽天天爱| 久久精品国产亚洲一区二区| 亚洲嫩草影院久久精品| 草青青在线视频免费观看| 又紧又大又爽精品一区二区| 97无码人妻福利免费公开在线视频| 日韩国产有码在线观看视频| 激情亚洲不卡一区二区| 国产二区交换配乱婬| 美女黄18以下禁止观看| 中文字幕人妻少妇美臀| 日本男人精品一区二区| 国产精品视频露脸| аⅴ天堂国产最新版在线中文 | 国产激情视频在线观看大全| 国产美女精品一区二区三区| 国产小毛片| 国产精品久久熟女吞精| 人人超碰人人爱超碰国产| 久久精品视频在线看99| 久久HEZYO色综合| 日本久久久免费观看视频| 国产婷婷色综合av蜜臀av| 欧美日韩国产成人综合在线影院| 中文字幕日韩精品人妻久久久| 成人在线免费电影| 亚洲一二三区在线观看|