第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在iOS中有效地使用圖像制作動畫

如何在iOS中有效地使用圖像制作動畫

翻翻過去那場雪 2019-12-06 12:45:05
當前面臨崩潰問題時,如何在不消耗大量內(nèi)存(或有效地)的情況下在iOS中制作動畫?對于單個動畫,我有一個100個圖像的序列,每個圖像約為40kb;就像有大約7個動畫,合計將近700個圖像。例如,在這里我展示了一個帶有2張圖像的動畫示例。這是我當前執(zhí)行動畫的代碼。/*First taking two images into an Array*/NSArray *imageArray = [NSArray arrayWithObjects:[UIImage imageNamed:@"img1"],[UIImage imageNamed:@"img2"],nil];  /*Creating an image view as a layer for performing the animation */imgView = [UIImageView alloc];[imgView initWithFrame:CGRectMake(110,245,100,100)];/*Setting the images for performing animations*/imgView.animationImages = imageArray;imgView.animationDuration = 8.5 ;//delay for performing the animationimgView.animationRepeatCount = 1;/* ..and finally adding the animation to the current view */[self.view addSubview:imgView];[imgView startAnimating];[imgView release];[imgView stopAnimating];imageArray = nil;[imageArray release];任何人都可以提出代碼方面的任何改進建議,以便動畫可以高效完成,或者是否有其他替代方案(如openGL或Core Animation),如果有人可以提出示例代碼,則可以這樣做。
查看完整描述

2 回答

?
ibeautiful

TA貢獻1993條經(jīng)驗 獲得超6個贊

我的建議是使用Cocos2d,這是一個基于Open GL的框架,專門為游戲設(shè)計。

就您而言,您將獲得的優(yōu)勢是:

  1. 使用紋理圖集而不是單個圖像來節(jié)省盡可能多的內(nèi)存;

  2. 對圖像使用PVR格式(與PNG相比);PVR是iPhone / iPad圖形芯片的本機格式,它將節(jié)省更多內(nèi)存。

  3. 您也可以嘗試為圖像使用較小的覆蓋區(qū)格式(即RGB565代替RGB8888,每像素16位而不是32位)。

如果您認為這對您有用,請參閱本教程。

您可以直接使用Open GL或Core Animation進行相同的操作,但是我認為最好讓Cocos2d處理低級的東西。

有關(guān)基于Core Animation的相同操作的教程,請參閱此文章。如您所見,您將實現(xiàn)一些類來完成Cocos2d已經(jīng)為您提供的服務(wù)(以及許多其他功能)。


查看完整回答
反對 回復(fù) 2019-12-06
?
元芳怎么了

TA貢獻1798條經(jīng)驗 獲得超7個贊

上面的mysterycoconut鏈接很好,因為它避免了當人們在SO上問有關(guān)CoreGraphics動畫的問題時似乎總是出現(xiàn)的“ use Cocos2D”反射帖子。您遇到的問題的根源是一個經(jīng)過深思熟慮的animationImages API,該API消耗了過多的應(yīng)用程序內(nèi)存,因此永遠不應(yīng)使用。您可以在iOS設(shè)備上的“視頻和內(nèi)存使用情況”中閱讀問題的詳細說明。。在那里描述了我自己的解決方案?;旧?,您想將圖像數(shù)據(jù)解壓縮到一個文件中,然后將內(nèi)容滲入顯卡。在iOS下,這非??欤珻oreGraphics在圖形卡級別利用優(yōu)化的紋理邏輯來限制緩沖區(qū)副本,從而很少使用設(shè)備CPU。通過這種方法,可以僅使用CoreGraphics即可獲得數(shù)百幅圖像的非??斓膭赢嫞?5至60 FPS),而不會耗盡所有應(yīng)用程序的內(nèi)存。


查看完整回答
反對 回復(fù) 2019-12-06
  • 2 回答
  • 0 關(guān)注
  • 704 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號