
性能和调试
|
331
子:当我们打开一个
iOS
程序时,系统会首先显示一张
App
的启动图片。苹果鼓
励开发者将这张启动图片设计得就像
App
的一部分,但这张图片上不需要显示任
何文字和数据,这样会让
App
的启动过程看起来加快了。
最后,还有一种例子是,我们只需要在屏幕上显示部分细节就可以让玩家开始游戏,
当然在游戏开头的几秒钟内,画面效果会稍差一些,但这也是可以忍受的。这种技
术被称作“纹理流”,这种办法实际上在加载过程中首先加载一些事先设计的小尺
寸的图片,然后在玩家进入游戏后,再在后台进程中加载全尺寸的高清图片。
纹理流可以让游戏在正式开始前加载的速度加快,因为需要传输的数据变少了。但
是,它同时带来了一些视觉问题:当更大的、画质更高的图片加载完成后,会出现
一种视觉“凸现”的问题。另外,由于需要同时加载相同图片的不同版本,也会增
加内存的消耗,这会在
iOS
设备上导致内存不够的问题。
11.3
解决内存不足问题
问题
当图片或其他资源加载到内存中时,
App
会随机地崩溃。
解决方案
降低
App
的内存占用有几种方法,例如:
使用更小的图片
在多个角色和贴图中重用同一张图片,比使用多张只有细微差别的图片要好。
裁剪图片
如果有一张图片,它的边缘是透明区域,则我们可以将这些透明边缘裁掉。因
为当图片被加载时,每个像素都会占用的内存,包括完全透明的像素。
使用纹理图集
如果使用了
Sprite Kit
,在
Xcode
中创建纹理图集是很容易的。纹理图集将多张
图片整合到一起,因为每张图片占用的空间都是最小的,所以它能加载得更快。
Xcode ...