在旧设备上省略openGL效果或接受slooooow性能更好吗?

时间:2012-05-06 15:13:51

标签: ios device iphone-3g

我的应用程序遵循“让一切闪耀”的趋势,这在iPhone4 +和iPad2 +上看起来很棒但在旧设备上略显窒息。有两种途径可供选择:

  1. 无论如何,都要在应用上保持相同的外观。接受某些用户将有很长的加载时间。根据我的经验,这似乎是最常见的方法,但是一些优秀的应用程序(Sword& Sworcery)在iPhone 3G上拥有无法忍受的长时间加载时间。

  2. 检测手机型号并决定(根据我的测试基准)跳过旧设备上的某些非关键动画或效果。这有可能有人在较旧的应用程序上看到它并且认为“这个应用程序看起来没问题,我猜”而不是“哇”。

  3. 除了“这取决于具体情况”之外,还有“最佳实践”或行业标准吗?

    编辑:我正在使用的内容(可能更客观有用,持怀疑态度)就是这样,从Erica Sadun's great but bigger class缩小:

    + (NSString *) platform {
      char *m = (char *)"hw.machine";
      return [self getSysInfoByName:m];
    }
    
    + (BOOL) deviceIsLegacy {
      NSString *platform = [self platform];
      // LEGACY DEVICES:
      // iPhone 1, iPhone 3G
      // iPod 1, iPod 2
      // iPad 1
    
      if ([platform isEqualToString:@"iPhone1,1"]) return YES;
      else if ([platform isEqualToString:@"iPhone1,2"]) return YES;
      else if ([platform isEqualToString:@"iPod1,1"]) return YES;
      else if ([platform isEqualToString:@"iPod2,1"]) return YES;
      else if ([platform isEqualToString:@"iPod2,2"]) return YES;
      else if ([platform isEqualToString:@"iPad1,1"]) return YES;
    
      return NO;
    }
    

1 个答案:

答案 0 :(得分:0)

我认为唯一与您的情况相关的“最佳做法”是,如果您不是100%需要,不要让用户等待!

如果你担心品牌,那么这不是问题: 您可以决定不支持旧设备(我个人不同意), 或者您可以看到并看到Apple自己没有实现完全相同的界面,因为它在旧设备中具有魔力。他们没有在较旧的设备上显示酷Siri(您可以争论是出于销售或CPU的原因),并且他们不允许某些图形元素,如背景图像

许多人喜欢在3G上使用背景图像或多任务处理,但是当他们越狱并允许这样做时,他们会发现苹果禁用它的原因。

但是,您可以添加一个小徽章,上面写着“在新设备上查看效果最佳”,但这可能会让您的客户感到悲伤或嫉妒,所以...