小编Bri*_*ein的帖子

iOS纹理占用33%的额外内存

我是在试探我的iOS游戏,发现它是多么的内存占用,有多少它之间的差异认为应该占用.最终我将问题缩小到纹理,占用的内存比我认为应该占用的内存多33%.

例如,我认为256x256未压缩的32位纹理应该采用256*256*4字节= 256k.但是,我会注意到应用程序的内存在分配256x256纹理时增长了340k.好像设备分配了足够的内存来存储纹理及其所有mipmap,但我没有使用mip贴图或以任何方式询问空间.

这个额外的记忆很突出,因为它只会发生在某些设备上.我在iPod Touch 4上测试游戏时注意到了额外的内存.但是,在iPhone 3GS,iPod 3G或iPad 1上没有出现这个问题.

设备上的操作系统版本是:

iPod 3G - iOS 3.1.2(7D11)iPhone 3GS - iOS 4.3.5(8L1)iPod 4 - iOS 4.2.1(8C148)iPad - iOS 4.3(8F190)

编辑

这里有更多信息.我像这样测量应用程序的内存

int PlatformIOS::GetProcessMemUsage()
{
    task_basic_info info;
    mach_msg_type_number_t size = sizeof( info );
    kern_return_t kerr = task_info( mach_task_self(), TASK_BASIC_INFO, (task_info_t)&info, &size );
    if ( kerr == KERN_SUCCESS ) 
        return info.resident_size;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这将返回您在Real Mem的Insturments程序中看到的相同值.它实际上非常有用.

这是我分配纹理的方式:

bool GL3DTextureDataPiece::CreateTextureSurface(X3DInterfaceImpl *theInterface, int theWidth, int theHeight, PixelFormat theFormat, RefCount *thePalette, bool generateMipMap)
{
    glGenTextures(1,&mTexture);
    theInterface->SetCurTexture(this); …
Run Code Online (Sandbox Code Playgroud)

memory textures opengl-es ios

9
推荐指数
1
解决办法
2091
查看次数

SKStoreReviewController requestReview 对话框中缺少文本

我正在尝试实现 StoreKit 的 requestReview API:

[SKStoreReviewController requestReview];
Run Code Online (Sandbox Code Playgroud)

当对话框出现时,它缺少“正在享受 [应用程序]?” 和“点击一颗星即可在 App Store 上对其进行评分”文本:

审阅对话框中缺少标题和说明

此屏幕截图来自运行 iOS 10.3.3 的 iPhone 6s。我还能够在运行 iOS 10.3.1 的 iPhone 6s 以及运行 iOS 10.3 的 iPhone 7 模拟器上重现该问题。

我知道开发模式和生产模式下的 UI 并不完全相同,但我的印象是开发模式中唯一的 UI 差异是提交按钮始终呈灰色。

如果我在开发中看不到它正常工作,我会犹豫是否使用此功能。

有什么想法如何让标题和描述出现或者可能导致此问题的原因是什么?

ios skstorereviewcontroller

3
推荐指数
1
解决办法
988
查看次数