我的朋友正在制作高性能游戏,如果许多其他应用程序正在运行,这将会落后。
有没有办法弄清楚现在有多少应用在后台运行?有一款名为Activity Monitor Touch的应用程序可以显示所有后台进程,并且已经批准用于AppStore。它甚至显示了后台应用程序的图标。我猜它会访问小图标以获得聚光灯。
它显示了有线,活动,非活动和可用内存的使用情况以及总可用磁盘空间。
在我看到这个应用程序之前,我一直认为这是不可能的!
所以我们的想法是:检查应用程序可用的可用内存量,以及运行的后台应用程序数量。然后告诉用户由于这个原因,性能可能会滞后,并建议终止其中一些。
答案 0 :(得分:1)
确定在后台运行的应用程序数量:(使用xcode)
mach_port_t *p = (mach_port_t *)SBSSpringBoardServerPort();
char frontmostAppS[256];
memset(frontmostAppS,sizeof(frontmostAppS),0);
SBFrontmostApplicationDisplayIdentifier(p,frontmostAppS);
NSString * frontmostApp=[NSString stringWithFormat:@"%s",frontmostAppS];
NSLog(@"Frontmost app is %@",frontmostApp);
//get list of running apps from SpringBoard
NSArray *allApplications = SBSCopyApplicationDisplayIdentifiers(p,NO, NO);
for(NSString *identifier in allApplications)
{
NSString *locName = SBSCopyLocalizedApplicationNameForDisplayIdentifier(identifier);
NSLog(@"identifier:%@, locName:%@",identifier,locName);
}