在IOS上存在retain屏,经常需要在一些时刻用到高清图,有些时候也要到普通图。
在网络条件很爽的情况下,这当然不在话下。如果咱是iphone用户,又正好用的是移动卡。
如果还用的高清图的话是不是灰常的杯具,显然是一定的。
从目前的情况来看,只有移动的gprs的卡速度慢的像牛一样,这样我们就需要权衡在一些场合牺牲点质量
换取速度。
那么我们就得必须知道当前网络是神马运营商。给个变通的解决方案。
|
01 |
- (BOOL)checkChinaMobile |
|
02 |
{ |
|
03 |
BOOL ret = NO; |
|
04 |
CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init]; |
|
05 |
CTCarrier *carrier = [info subscriberCellularProvider]; |
|
06 |
if (carrier == nil) { |
|
07 |
[info release]; |
|
08 |
return NO; |
|
09 |
} |
|
10 |
|
|
11 |
NSString *code = [carrier mobileNetworkCode]; |
|
12 |
if (code == nil) { |
|
13 |
[info release]; |
|
14 |
return NO; |
|
15 |
} |
|
16 |
|
|
17 |
if([code isEqualToString:@"00"] || [code isEqualToString:@"02"] || [code isEqualToString:@"07"]) { |
|
18 |
ret = YES; |
|
19 |
} |
|
20 |
[info release]; |
|
21 |
|
|
22 |
return ret; |
|
23 |
} |
网络在00—02—07三种情况时是移动网络。具体参考下面的数据
China – CN
详细数据请参考: http://en.wikipedia.org/wiki/Mobile_Network_Code
转自iloss博客 http://www.iloss.me/2012/07/21/ios如何判断当前网络的运营商/
需引入框架CoreTelephony.framework
导入头文件
#import<CoreTelephony/CTTelephonyNetworkInfo.h>
#import<CoreTelephony/CTCarrier.h>
先定义以下方法:
//用来辨别设备所使用网络的运营商
- (NSString*)checkCarrier
{
NSString *ret = [[NSString alloc]init];
CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
CTCarrier *carrier = [info subscriberCellularProvider];
if (carrier == nil) {
[info release];
return @"0";
}
NSString *code = [carrier mobileNetworkCode];
if (code == @"") {
[info release];
return @"0";
}
if ([code isEqualToString:@"00"] || [code isEqualToString:@"02"] || [code isEqualToString:@"07"]) {
ret = @"移动";
}
if ([code isEqualToString:@"01"]|| [code isEqualToString:@"06"] ) {
ret = @"联通";
}
if ([code isEqualToString:@"03"]|| [code isEqualToString:@"05"] ) {
ret = @"电信";;
}
[info release];
return ret;
}
本文介绍了一种在iOS设备上检测当前网络运营商的方法,并提出了在网络条件受限时,如何通过调整图片质量来优化用户体验的策略。具体包括了如何通过CoreTelephony框架获取运营商信息,并根据不同运营商网络类型,智能选择高清或普通图片加载,以平衡速度与质量的需求。
733

被折叠的 条评论
为什么被折叠?



