ios 上按需加載資源unity5上的實(shí)現(xiàn)

需求和應(yīng)用場(chǎng)景:

應(yīng)用場(chǎng)景一:初始安裝包ipa包的大小缀匕,用戶在初次下載的時(shí)候纳决,只需要下載最小化的安裝包,查看app或游戲的基礎(chǔ)功能乡小,然后在使用的過(guò)程中阔加,再根據(jù)需要逐步下載。

應(yīng)用場(chǎng)景二:在iOS平臺(tái)上满钟,同一時(shí)期會(huì)存在性能差異較大的硬件胜榔;對(duì)于游戲來(lái)說(shuō)胳喷,將會(huì)根據(jù)不同硬件平臺(tái)的需求,可以生成不同品質(zhì)的資源夭织,比如在最新發(fā)布的手機(jī)上使用最高品質(zhì)的素材吭露,而比較舊的機(jī)器上使用品質(zhì)稍差的資源。來(lái)達(dá)到自適配尊惰。

使用局限性:

只能在iOS9之后的系統(tǒng)上才能使用讲竿。目前還是存在比較多,iOS7弄屡,8的使用設(shè)備题禀。不過(guò)根據(jù)apple的更新發(fā)布節(jié)奏,等到再過(guò)一年膀捷,市面上的機(jī)型使用系統(tǒng)將基本上會(huì)使iOS9級(jí)之后的版本了迈嘹。

XCode中直接使用:

在Xcode7中,已經(jīng)有自帶該功能全庸,

一秀仲、先是開啟On Demand Resource

二、給資源打tag

三糕篇、提交到app store服務(wù)器啄育,將會(huì)自動(dòng)做到根據(jù)tag將資源的分發(fā)





中文文檔中有比較詳細(xì)的說(shuō)明:

iOS 按需加載中文文檔

http://www.cocoachina.com/ios/20150615/12155.html

在Unity3d 5.2版本之后,引入了按需下載使用的功能拌消。

最初需求來(lái)源:

該功能的最初需求來(lái)源是Apple TV挑豌,因?yàn)閍pple tvOS上的app安裝大小最大不能超過(guò)200M,要根據(jù)使用的情況墩崩,要不斷下載用到的資源或卸載掉不再使用的資源氓英。

當(dāng)前該功能在iOS手游上的應(yīng)用不算常規(guī)化。但相信未來(lái)一定為成為一個(gè)很重要的功能鹦筹。特別適合游戲的應(yīng)用場(chǎng)景铝阐,隨著玩家的不斷升級(jí)的提升,不斷的開始玩新玩法铐拐,根據(jù)需要就會(huì)從app store server下載后期所需資源徘键。對(duì)于初次安裝的用戶來(lái)說(shuō),不用下載很大的安裝包遍蟋。將可以降低CPI的成本吹害,提升轉(zhuǎn)化率

unity3d 官方有提供一個(gè)demo

On Demand Resource


關(guān)鍵的部分的代碼如下:

編輯器中功能

usingUnityEditor.iOS;

#if ENABLE_IOS_ON_DEMAND_RESOURCES

publicclassBuildResources

{

[InitializeOnLoadMethod]

staticvoidSetupResourcesBuild()

{

UnityEditor.iOS.BuildPipeline.collectResources+=CollectResources;

}

staticUnityEditor.iOS.Resource[]CollectResources()

{

returnnewResource[]

{

newResource("iOS","AssetBundles/iOS/iOS").AddOnDemandResourceTags("iOS"),

newResource("cube.unity3d","AssetBundles/iOS/cube.unity3d").AddOnDemandResourceTags("cube.unity3d"),

newResource("resource","path/to/resource.file").AddOnDemandResourceTags("resource_tag"),

};

}

}

#endif

運(yùn)行時(shí)

usingUnityEngine.iOS;

// Coroutine that can be asynchronously executed with

StartCoroutine(LoadAsset("asset.data"));

publicstaticIEnumerator LoadAsset(stringresourceName)

{

// Create the request

varrequest=OnDemandResources.PreloadAsync(newstring[]{"resource_tag"

});

// Wait until request is completed

yieldreturnrequest;

// Check for errors

if(request.error!=null)

thrownewException("ODR request failed: "+request.error);

// Get path to the resource and use it. Note that at the moment the only API

// that can load ODR or sliced resources is AssetBundle.CreateFromFile()

varpath="res://"+resourceName;

varbundle=AssetBundle.CreateFromFile(path);

// Call Dispose() when resource is no longer needed. This will release a

pin on ODR resource.

request.Dispose();

}

注意點(diǎn):

如果是需要app slicing模式的話凉夯,在打ab資源的時(shí)候运悲,需要設(shè)置該選項(xiàng)UncompressedAssetBundle

options |= BuildAssetBundleOptions.UncompressedAssetBundle;

demo 鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市洛勉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌纵穿,老刑警劉巖下隧,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異谓媒,居然都是意外死亡淆院,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門篙耗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)迫筑,“玉大人宪赶,你說(shuō)我怎么就攤上這事宗弯。” “怎么了搂妻?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵蒙保,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我欲主,道長(zhǎng)邓厕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任扁瓢,我火速辦了婚禮详恼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘引几。我一直安慰自己昧互,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布伟桅。 她就那樣靜靜地躺著敞掘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪楣铁。 梳的紋絲不亂的頭發(fā)上玖雁,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音盖腕,去河邊找鬼赫冬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛溃列,可吹牛的內(nèi)容都是我干的劲厌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼哭廉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼脊僚!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤辽幌,失蹤者是張志新(化名)和其女友劉穎增淹,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乌企,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡虑润,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了加酵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拳喻。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖猪腕,靈堂內(nèi)的尸體忽然破棺而出冗澈,到底是詐尸還是另有隱情,我是刑警寧澤陋葡,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布亚亲,位于F島的核電站,受9級(jí)特大地震影響腐缤,放射性物質(zhì)發(fā)生泄漏捌归。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一岭粤、第九天 我趴在偏房一處隱蔽的房頂上張望惜索。 院中可真熱鬧,春花似錦剃浇、人聲如沸巾兆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)臼寄。三九已至,卻和暖如春溜宽,著一層夾襖步出監(jiān)牢的瞬間吉拳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工适揉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留留攒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓嫉嘀,卻偏偏與公主長(zhǎng)得像炼邀,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子剪侮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容