reachability

Java GC

十年热恋 提交于 2020-02-26 11:13:48
把不再使用的对象清除将内存释放出来,这就是GC要做的事。 需要GC的内存区域 jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于 java 堆和方法区中,在程序运行期间,这部分内存的分配和使用都是动态的。 GC的对象 需要进行回收的对象就是已经没有存活的对象,判断一个对象是否存活常用的有两种办法:引用计数和可达分析。 (1)引用计数:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。此方法简单,无法解决对象相互循环引用的问题。 (2)可达性分析(Reachability Analysis):从GC Roots开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。不可达对象。 在Java语言中,GC Roots包括: 虚拟机栈中引用的对象。 方法区中类静态属性实体引用的对象。 方法区中常量引用的对象。 本地方法栈中引用的对象。 什么时候触发GC (1)程序调用System.gc时可以触发 (2)系统自身来决定GC触发的时机(根据Eden区和From Space区的内存大小来决定。当内存大小不足时,则会启动GC线程并停止应用线程) 来源: oschina 链接:

【开发记录】iOS中使用 Reachability 检测网络

眉间皱痕 提交于 2020-02-21 11:33:12
如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote)。那么你会使用到Reachability来实现网络检测。 写本文的目的 了解Reachability都能做什么 检测3中网络环境 2G/3G wifi 无网络 如何使用通知 单个controller 多个controller 简单的功能: 仅在wifi下使用 Reachability简介 Reachablity 是一个iOS下检测,iOS设备网络环境用的库。 监视目标网络是否可用 监视当前网络的连接方式 监测连接方式的变更 苹果官方提供的Doc http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html Github上的文档 https://github.com/tonymillion/Reachability 安装 创建 network 工程(network是我创建的demo工程,附件中可以下载到) 使用 Cocoaspod安装依赖 在项目中添加 SystemConfiguration.framework 库 由于Reachability非常常用。直接将其加入到Supporting Files/networ-Prefix.pch中: C代码

iOS中使用 Reachability 检测网络

怎甘沉沦 提交于 2020-02-18 07:33:13
如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote)。那么你会使用到Reachability来实现网络检测。 写本文的目的 了解Reachability都能做什么 检测3中网络环境 2G/3G wifi 无网络 如何使用通知 单个controller 多个controller 简单的功能: 仅在wifi下使用 Reachability简介 Reachablity 是一个iOS下检测,iOS设备网络环境用的库。 监视目标网络是否可用 监视当前网络的连接方式 监测连接方式的变更 苹果官方提供的Doc http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html Github上的文档 https://github.com/tonymillion/Reachability 安装 创建 network 工程(network是我创建的demo工程,附件中可以下载到) 使用 Cocoaspod安装依赖 在项目中添加 SystemConfiguration.framework 库 由于Reachability非常常用。直接将其加入到Supporting Files/networ-Prefix.pch中: C代码

利用Reachability实现网络状态监听

荒凉一梦 提交于 2020-02-05 03:07:42
时刻检查设备的联网状态,并作出相应的处理,基本上是所有的联网程序需要考虑的问题,以前自己写个NSTimer 每多少卖哦循环一次,后来觉得这个思维有些不爽,就直接用Reachability来实现了 首先考虑要在每一个类都能用这个网络的判定结果,可以用一个单例写,怕麻烦的话 直接写在 AppDelegate也行。 .h的操作 @property ( strong , nonatomic ) Reachability *reachiability; @property ( assign , nonatomic ) BOOL isReachable;//是否可用 @property ( assign , nonatomic ) NetworkStatus status;//判定状态用的 .m里 // 开启网络状况的监听 [[ NSNotificationCenter defaultCenter ] addObserver : self selector : @selector (reachabilityChanged:) name : kReachabilityChangedNotification object : nil ]; self .reachiability = [ Reachability reachabilityWithHostname : @"www.baidu.com"

iOS 网络状态监听和检查,

℡╲_俬逩灬. 提交于 2020-02-05 02:30:53
实现网络状态监听和监察网络状态,注意下面介绍两种方法都需要使用到第三方文件Reachability.h,和Reachability.m,这两个文件可以再第三方库ASIHttpRequest中得到,使用前引入头文件即可: #import "Reachability.h" 1.实时监听,这个方法下会启动一个Run loop 实时监听网络的状态。注意这里将hostReach声明为一个全局的变量。 //开启网络状况的监听 -(void)giveNetNotification{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil]; hostReach = [Reachability reachabilityWithHostName:@"www.baidu.com"];//可以以多种形式初始化 [hostReach startNotifier]; //开始监听,会启动一个run loop [self updateInterfaceWithReachability: hostReach]; } //监听到网络状态改变 - (void)

Reachability的使用

我的梦境 提交于 2020-02-05 02:28:18
刚到一家新公司 做新项目 关于网络状态的监听和同事产生了不一样的看法 原来我的网络监听都是自己写的 后来发现自己不是一般的傻 有一个叫做Reachability的东西 很简单 很实用 很暴力 下面就是使用方法 首先在AppDelegate.h添加头文件"Reachability.h",导入框架SystemConfiguration.frame 下面是代码: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //开启网络状况的监听 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil]; self.hostReach = [Reachability reachabilityWithHostName:@"www.baidu.com"] ; //开始监听,会启动一个run loop [self.hostReach startNotifier]; } -(void

iOS中使用 Reachability 检测网络

做~自己de王妃 提交于 2020-02-04 20:20:06
iOS中使用 Reachability 检测网络 内容提示: 下提供离线模式(Evernote)。那么你会使用到Reachability来实现网络检测。 写本文的目的 了解Reachability都能做什么 检测3中网络环境 2G/3G wifi 无网络 如何使用通知 单个controller 多个controller 简单的功能: 仅在wifi下使用 Reachability简介 Reachablity 是一个iOS下... 如果你想在iOS程序中提供一仅在wifi网络下使用(Reeder),或者在没有网络状态下提供离线模式(Evernote)。那么你会使用到Reachability来实现网络检测。 写本文的目的 了解Reachability都能做什么 检测3中网络环境 2G/3G wifi 无网络 如何使用通知 单个controller 多个controller 简单的功能: 仅在wifi下使用 Reachability简介 Reachablity 是一个iOS下检测,iOS设备网络环境用的库。 监视目标网络是否可用 监视当前网络的连接方式 监测连接方式的变更 苹果官方提供的Doc http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html Github上的文档

iOS中使用 Reachability 检测网络

馋奶兔 提交于 2020-02-04 20:12:40
写本文的目的 了解Reachability都能做什么 检测3中网络环境 2G/3G wifi 无网络 如何使用通知 单个controller 多个controller 简单的功能: 仅在wifi下使用 Reachability简介 Reachablity 是一个iOS下检测,iOS设备网络环境用的库。 监视目标网络是否可用 监视当前网络的连接方式 监测连接方式的变更 苹果官方提供的Doc http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html Github上的文档 https://github.com/tonymillion/Reachability 安装 创建 network 工程(network是我创建的demo工程,附件中可以下载到) 使用 Cocoaspod安装依赖 在项目中添加 SystemConfiguration.framework 库 由于Reachability非常常用。直接将其加入到Supporting Files/networ-Prefix.pch中: C代码 #import <Reachability/Reachability.h> 如果你还不知道cocoaspod是什么,看这里: http://witcheryne.iteye.com

iOS Reachability检测网络状态

不问归期 提交于 2020-02-04 20:09:39
一、整体介绍 前面已经介绍了网络访问的 NSURLSession 、 NSURLConnection ,还有网页加载有关的 webview ,基本满足通常的网络相关的开发。 其实在网络开发中还有比较常用的就是网络状态的检测。苹果对需要联网的应用要求很高,就是必须要进行联网检查。另外,当网络发生异常时能够及时提示用户网络已断开,而不是程序问题造成卡顿;当用户观看视频或下载大文件时,提示用户当前的网络状态为移动流量或wifi下,是否继续使用,以避免在用户不知情下产生过多流量资费等等。 网络状态的检测有多种方法,常用的有三种 官方提供的Reachability 下载苹果Reachability AFNetworking附带提供的 AFNetworkReachabilityManager , 下载AFNetworking 专门的第三方框架,使用比较多的 下载第三方框架 二、苹果Reachability使用 使用非常简单,将 Reachability.h 与 Reachability.m 加入项目中,在要使用的地方包含 Reachability.h 头文件,示例代码: #import "Reachability.h" /// 在刚开始就开始监听 - (void)viewDidLoad { [super viewDidLoad]; // Reachability使用了通知

iOS 检测网络状态

给你一囗甜甜゛ 提交于 2020-02-04 19:18:41
一般有两种方式,都是第三方的框架,轮子嘛,能用就先用着,后面再优化。 一:Reachability 1.首先在AppDelegate.h添加 头文件"Reachability.h",导入框架SystemConfiguration.frame。 2. 在AppDelegate.m中这样实现: 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 2 //开启网络状况的监听 3 //来订阅实时的网络状态变化通知。导入Reachability.h头文件,然后注册一个对象来订阅网络状态变化的信息,网络状态变化的信息名称为kReachabilityChanged-Notification 4 5 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil]; 6 //通过检查某个主机能否访问来判断当前网络是否可用: 7 self.hostReach = [Reachability