昨天遇到一个仅仅有一行错误信息的问题: -[NSNull objectForKey:]: unrecognized selector sent to instance 0x537e068 因为这个问题发生在次线程.所以没有太实用的堆栈信息.而是仅仅有简单的SIGABRT信息: 考虑到unrecognized selector sent to instance这类问题是因为向某个对象发送了未实现的消息,这个过程大致例如以下(图片摘自这里): watermark/2/text/aHR0cDovL2J…
开发中常见的一类崩溃错误是遇到:unrecognized selector sent to instance 0xaxxxx…而backtrace又无法明确说明错误在哪行代码,如何快速定位BUG呢? 有时读代码一下很难找到是哪个instance出的问题,这时定制有效的DEBUG断点是最好的办法,方法如下: 在Debug菜单中选择 Breakpoints -> Create Symbolic Breakpoint… 在Symbol中填写如下方法签名:   1 -[NSObject(NSObject…
分类:C#.Android.VS2015: 创建日期:2016-03-04 一.安卓内置的定位服务简介 通常将各种不同的定位技术称为位置服务或定位服务.这种服务是通过电信运营商的无线电通信网络(如GSM网.CSMA网等)或外部定位方式(如GPS)来实现的. Android提供了对移动数据(cell tower,也叫蜂窝发射塔).无线网络(Wi-fi).全球定位系统(GPS)等多种定位技术的访问. 在安卓系统中,无论你选择哪种定位服务API获取位置数据,这些基本概念都是相同的. Android平台…
转载自这里. 最近看了一本书——iOS6 programming Pushing the Limits(亚马逊有中文版),最后一章是关于Deep ObjC的,主要内容是ObjC的runtime.虽然之前看过runtime的programming guide,但读之乏味也不知道能用在何处.现在有点小小的理解,觉得别有乾坤,索性把runtime的相关东西给整理一下. 下面就从官方文档开始,看看runtime有哪些特性,以及各自的应用场合. 基本概念 对于现在绝大多数的64位操作系统而言,我们接触到的…
java命令--jstack 工具 JVM调优之jstack找出最耗cpu的线程并定位代码 jstack可以定位到线程堆栈,根据堆栈信息我们…
MainActivity如下: package cc.c; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.widget.TextView; /** * Demo描述: * * 示例步骤如下: * 1 子线程给子线程本身发送消息 * 2 收到1的消…
MainActivity如下: package cn.testlooper; import android.app.Activity; import android.os.Bundle; import android.os.Looper; import android.widget.TextView; import android.widget.Toast; /** * Demo描述: * 在子线程中Looper的使用 * * 测试结果: * 可在子线程中更改UI * * 原理备注: * 在Vi…
MainActivity例如以下: package cc.c; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.widget.TextView; /** * Demo描写叙述: * * 演示样例过程例如以下: * 1 子线程给子线程本身发送消息 *…
1.同步要领 下面的表格列展了.NET对协调或同步线程动作的可用的工具:                       简易阻止方法 构成 目的 Sleep 阻止给定的时间周期 Join 等待另一个线程完成                       锁系统 构成 目的 跨进程? 速度 lock 确保只有一个线程访问某个资源或某段代码. 否 快 Mutex 确保只有一个线程访问某个资源或某段代码.可被用于防止一个程序的多个实例同时运行. 是 中等 Semaphore 确保不超过指定数目的线程访问某…
本文首先介绍 Erlang 运行时中需要使用无锁队列的场合,然后介绍无锁队列的基本原理及会遇到的问题,接下来介绍 Erlang 运行时中如何通过“线程进度”机制解决无锁队列的问题,并介绍 Erlang 运行时中提供的一个通用无锁队列的实现及其在 ERTS 异步线程池中的应用. 无锁队列在 ERTS 中的应用场合 为了提升 Erlang 运行时在多核/众核处理器上的 scalability,Erlang 运行时使用了大量无锁数据结构,无锁队列(lock-free queue)就是其中广泛使用的一种…