自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (1)
  • 收藏
  • 关注

转载 关于_runWithMainScene:transitionContext:completion错误的测试

_runWithMainScene:transitionContext:completion错误前几天升级xcode7,使用ios9,碰到一个诡异的问题。在一个手机中出现一启动app就crash。后来重新安装app,然后中间做了一些“顺手”的操作,crash无法再次重现。今天app正式上线,测试mm再次拿过来一只毕现crash的手机。同事调试后,终于发现问题所在

2017-06-25 15:54:04 504

转载 Xcode8使用出现 Class PLBuildVersion is implemented in both /Applications/Xcode.app/Contents/Developer/P

错误原因:PhotoLibraryServices.framework和AssetsLibraryServices.framework产生了冲突,系统不知道用哪个Class PLBuildVersion在框架AssetsLibraryServices和框架PhotoLibraryServices里都有定义。在Objective-C里Class名是唯一。两个同名的Class,Xcod

2017-06-25 15:30:44 3949

转载 从0开始学OpenGL之Mac篇(1)

在文章开始之前,其实可以用homebrew进行安装,这样比较方便一些,但是处于其他方面的考虑,还是没有写出来。     因为选择了媒体与可视化这个方向的课程,所以开始学习OpenGL。OpenGL按照设备的定位可以分成OpenGL和OpenGL ES,前者用在桌面环境,后者用在浏览器(WebGL)和移动设备上。按 API 设计演化,分为传统的 OpenGL(基于固定管线,确切说是一组固

2017-06-24 00:13:06 417

原创 IOS动画库汇总

Core Animation笔记,基本的使用方法 - Core Animation笔记,基本的使用方法:1.基本动画,2.多步动画,3.沿路径的动画,4.时间函数,5.动画组。awesome-ios-animation -iOS Animation 主流炫酷动画框架(特效)收集整理 收集整理了下iOS平台下比较主流炫酷的几款动画框架。awesome-animation - 在内的十

2017-06-23 09:07:04 6814

转载 Opengl编程低级错误

1.没有glDisable(GL_TEXTURE_2D),导致基本几何作图全部失败。2.镜头位置没调好,导致所有物体不可见.3.物体位置数据错误,导致物体大大超出镜头显示范围.4.纹理没有GL_CLAMP导致边界拼接出现缝线.5.纹理没有GL_REPEAT导致使用超出1.0纹理坐标技巧失败,显示单色插值.6.没有glEnable(GL_TEXTURE_2D)导致全白纹理.7

2017-06-22 09:19:58 430

转载 iOS沙盒目录中 Documents Library tmp的作用和区别

1.Documents:      只有用户生成的文件、其他数据及其他程序不能重新创建的文件,应该保存在/Documents目录下面,并将通过iCloud自动备份。2.Library      可以重新下载或者重新生成的数据应该保存在/Library /caches目录下面。举个例子,比如杂志、新闻、地图应用使用的数据库缓存文件和可下载内容应该保存到这个文件夹。3.

2017-06-19 16:58:18 1157

转载 Runtime基础使用场景-拦截替换方法(class_addMethod ,class_replaceMethod和method_exchangeImplementations)

前话这几天在系统的学习 runtime,在学习 runtime 的基础使用案例中,"方法替换"这种使用情况下,发现有两种写法. 其实也不是两种写法,准确的来说一种是比较严谨的,另一种则没有那么严谨.发现这两种写法的差异后,我主要集中在下列:class_addMethodclass_replaceMethodmethod_exchangeImplementations

2017-06-19 16:39:04 5136 1

转载 如何减少cocos2d-x游戏的耗电量

Cocos2d-x游戏的耗电量一直是个让人头疼的问题,一个简单的三消游戏,玩一会手机就热得发烫,更郁闷的是电池消耗很快,基本上两个小时就可以把电池耗光。最近又看到一个帖子,有个老外用cocos2d-x在安卓上移植了2048这个小游戏,一切顺利,除了手机会发烫。看来这确实是一个让人很不爽的问题。    我以前做过windows桌面系统,知道在windows上,屏幕不会每帧都全屏重绘,而是提供一个

2017-06-19 15:28:05 1868

转载 心跳之旅—iOS用手机摄像头检测心率(PPG)

本文中涉及到的要点主要有:AVCaptureCore GraphicsDelegate & BlockRGB -> HSV带通滤波基音标注算法(TP-Psola)光电容积脉搏波描记法(PhotoPlethysmoGraphy, PPG)在开始之前,我先为大家展示一下最后成品的效果:心率检测的ViewController上图展示的是心率检测过程中的主要界面

2017-06-19 10:21:27 16490 4

转载 JVM(8):JVM知识点总览-高级Java工程师面试必备

在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。一个内功低的人招式在奇妙也打不过一个内功高的人。比如,你剑法再厉害,一剑刺过来,别人一掌打断你的剑,你还怎么使剑法,你一掌打到一个武功高的人身上,那人没什么事,却把你震伤了,你还怎么

2017-06-18 23:16:45 362

转载 JVM(7):JVM调优-工具篇

16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化。工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相关问题,长长可以到达事半功倍的效果来。jvm监控分析工具

2017-06-18 23:06:54 491

原创 我为什么选择go语言

这里,我并不打算引起语言争论的口水仗,我并不是什么大牛,对语言的造诣也不深,只是想通过自己实际的经历,来说说为什么我在项目中选择go。其他语言的经历C++在接触go之前,我已经有多年的c++开发经验。主要用在游戏服务端引擎开发以及P2P上面,那可是一段痛并快乐的时期,以至于我看到任何的程序钉子问题都觉得可以用c++这把锤子给敲定。但是对于互联网项目开发来说,除非你的团队整体

2017-06-18 22:25:25 6046 1

转载 OpenGL核心技术之延迟着色器提升版

接着上篇博客延迟着色出现的问题继续讲解,为了克服这些缺点(特别是混合),我们通常分割我们的渲染器为两个部分:一个是延迟渲染的部分,另一个是专门为了混合或者其他不适合延迟渲染管线的着色器效果而设计的的正向渲染的部分。为了展示这是如何工作的,我们将会使用正向渲染器渲染光源为一个小立方体,因为光照立方体会需要一个特殊的着色器(会输出一个光照颜色)。现在我们想要渲染每一个光源为一个3D立方体,并放

2017-06-18 19:12:34 618

转载 Localizing Your App

When you are done internationalizing the app’s user interface and code, begin the localization process. Export all the development language strings files that contain user-facing text to a standard XM

2017-06-17 15:07:39 833

转载 IOS Storyboard页面切换详解

Storyboard 内View连接关系  在Storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,segue的类型是不同的。  1. 在iphone中,有:push,modal,和custom三种不同的类型,这些类型的区别在与新页面出现的方式。  2. 而在ipad中,有:push,modal,popover,replace和custom五种不同的

2017-06-17 14:52:48 1495

转载 [深入浅出Cocoa]iOS网络编程之Socket

一,iOS网络编程层次模型在前文《深入浅出Cocoa之Bonjour网络编程》中我介绍了如何在Mac系统下进行 Bonjour 编程,在那篇文章中也介绍过 Cocoa 中网络编程层次结构分为三层,虽然那篇演示的是 Mac 系统的例子,其实对ios系统来说也是一样的。iOS网络编程层次结构也分为三层:Cocoa层:NSURL,Bonjour,Game Kit,WebKitCore

2017-06-17 09:45:27 2129

转载 如何实现自己没实现过的需求之文本动画

前言记得以前看到过一个很赞的文字效果的动画,类似于这样:当时被惊艳到了,最近偶然间又再次见到,依然还是那么喜欢。假设我们现在需要实现这样的需求。一般碰到需求我们都会去 GitHub 上看看,俗称找轮子(GitHub 基本上只有你想不到的,就没有它没有的)。大多数情况下,没有问题。或者说有点小问题:轮子太多,无从下嘴。选择选轮子就像选姑娘,你不知道后面等着你的是什么 —–罪恶

2017-06-17 09:36:59 645

转载 基于 CoreText 的排版引擎:基础

本章前言使用 CoreText 技术,我们可以对富文本进行复杂的排版。经过一些简单的扩展,我们还可以实现对于图片,链接的点击效果。CoreText 技术相对于 UIWebView,有着更少的内存占用,以及可以在后台渲染的优点,非常适合用于内容的排版工作。本章我们将从最基本的开始,一步一步完成一个支持图文混排、支持图片和链接点击的排版引擎。CoreText 简介CoreText 是用

2017-06-17 09:33:24 557

转载 Core Image 你需要了解的那些事~

前言最近在研究 Core Image 自定义 Filter 相关内容,重新学习了 Core Image,对 Core Image 的一些优化点也有了一定的了解。故此记录,与君交流~本文将会介绍逐一介绍 Core Image 相关基础概念、使用方式、注意点以及和其他图像处理方案的对比。也算是下一篇文章: Core Image 自定义 Filter~ 的预备知识,毕竟只有了解了 C

2017-06-17 09:21:14 603

转载 iOS GCD 线程同步方法

我们使用GCD的时候如何让线程同步,目前我能想到的就三种1.dispatch_group2.dispatch_barrier3.dispatch_semaphore一、dispatch_group 线程组1.线程组,是一种同步机制,可以让某些线程先执行,某些线程最后执行,以控制线程的执行顺序。2.有这么一个需要,分别执行2个耗时的异步操作,等2个异步操作都执行完毕后在回

2017-06-16 11:39:38 551

转载 iOS开发内存管理之番外篇

内存管理, 一个恒古的话题, 它不是一个简单的问题. 比如说我们会遇到的一些, 内存莫名的持续增长, 程序莫名的crash, 以及难以发现的内存泄露等等问题, 都是比较让人揪心的. 但是, 只要咱们理解了内存管理的原则, 完全遵照, 其实, 内存管理也是很好解决的.内存管理现在大致可以分为两类, 一类是从始至终存在的MRC, 一类是Xcode4.2及以上版本有了的自动管理内存, 也就是AR

2017-06-16 10:11:49 444

转载 UIButton文字颜色无法修改的解决方法和知识拓展

1.普通的按钮中的字更改颜色的方法:[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];11这段代码将按钮中的文字的颜色,在一般情况下改成黑色。2.常见错误://第一种错误[customButton.titleLabel setTextColor:[UIColor blackC

2017-06-15 16:16:14 1338

转载 Android Service完全解析,关于服务你所需知道的一切(上)

相信大多数朋友对Service这个名词都不会陌生,没错,一个老练的Android程序员如果连Service都没听说过的话,那确实也太逊了。Service作为android四大组件之一,在每一个应用程序中都扮演着非常重要的角色。它主要用于在后台处理一些耗时的逻辑,或者去执行某些需要长期运行的任务。必要的时候我们甚至可以在程序退出的情况下,让Service在后台继续保持运行状态。不

2017-06-15 11:52:13 459

原创 Android Application启动流程分析

译者注:原文分成两个部分, 链接如下:http://multi-core-dump.blogspot.com/2010/04/android-application-launch.htmlhttp://multi-core-dump.blogspot.com/2010/04/android-application-launch-part-2.html本文合二为一, 章节标题由译者加

2017-06-15 08:59:49 5564

转载 Android IOS WebRTC 音视频开发总结(十七)-- 调试技巧

本文章主要介绍WEBRTC在各平台下调试或日志查看方式,以方便问题排查,包括BS,PC,Android,IOS(本系列文章转载请说明出处,博客园RTC.Blacker). 1,浏览器开发:这种开发方式不需要下载和编译WEBRTC源码(很多人都是"死"在这里的,不过确实很麻烦,原因就不赘述了),直接调用浏览器提供的API,入门相对简单(这并不意味着效果差,恰恰相反,因为浏览器厂商为你

2017-06-13 22:11:46 1190

转载 AVFoundation

关于AVFoundationAVFoundation是一个可以用来使用和创建基于时间的视听媒体的框架,它提供了一个能使用基于时间的视听数据的详细级别的Objective-C接口。例如:您可以用它来检查,创建,编辑或是重新编码媒体文件。也可以从设备中获取输入流,在视频实时播放时操作和回放。下图时AVFoundation在IOS中的架构。AVFoundation在IOS中的位置

2017-06-13 20:57:01 640

原创 IOS UI框架对比

QMUI iOS UI 框架  masonry  YYKit  CocoaUI  ASDK框架  BeeFramework

2017-06-13 20:30:44 4277

原创 OpenGL笔试题

求职GO:OpenGL与OpenGL-ES面试大全(持续更新)一、基本概念1.1 名词解释1.2 简述OpenGL渲染管线过程1.3 简述着色器的使用流程1.4 如何使用日志输出着色器错误1.5 GL_LINES、GL_LINE_STRIP 和 GL_LINE_LOOP有什么区别?1.6 GL_TRIANGLES、GL_TRIANGLE_STRIP 和 GL_TRIANGLE_FAN有什么

2017-06-12 16:49:57 7985 2

转载 iOS-AVFoundation自定义相机详解

AVFoundation 中关于视频主要的类目录相机基本实现步骤捕捉会话——AVCaptureSession捕捉输入——AVCaptureDeviceInput捕捉预览——AVCaptureVideoPreviewLayer/OpenGL ES捕捉连接——AVCaptureConnection拍照——AVCaptureStillImageOutput音频——AVCaptureA

2017-06-09 11:41:02 3137

转载 iOS资源的加载

前言最近遇到了加载本地资源文件的场景,当然从沙盒中获取资源比较容易理解,可是从程序中访问资源文件就经常遇到WebView加载不了的情况。于是整理了一下。沙盒获取资源沙盒目录主要有:Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。AppName.app 目录:这是应用程序的程序包

2017-06-09 10:35:48 2463

转载 谈谈ARC下的内存管理

什么是ARCARC(Automatic Reference Counting),自动引用计数,是从OX X Lion 和iOS5引入的内存管理技术。在Objective-C中采用ARC机制,让编译器来进行内存管理,在ARC有效的状态下,用户无需再次键入retain或者release代码,这在降低程序奔溃、内存泄漏等风险的同时,很大程序上减少了开发程序的工作量。编译器能立刻释放那些不再被使用

2017-06-08 20:09:44 712

转载 更新XCode 8.3 以后XVim编译失败解决方法

今天更新了下XCode之后安装的一些插件不能使用了,没了XVim完全不能适应。从https://github.com/XVimProject/XVim.git重新下载了个最新版本,进行编译提示失败。看了下更新日志进行如下处理:After setting up a new self-signed certificate, issued(创建XcodeSigner自签名证书)

2017-06-07 20:48:57 1166

转载 使用objdump objcopy查看与修改符号表

我们在 Linux 下运行一个程序,有时会无法启动,报缺少某某库。这时需要查看可执行程序或者动态库中的符号表,动态库的依赖项, Linux 有现成的工具可用:objdump 。    有时我们拿到一个静态库,想调用其中的函数,而某些函数作用域非全局,也可以通过修改符号来达到目的。 Linux 有现成的工具可用: objcopy 。    下面我们来看看具体怎么使用。    ob

2017-06-07 19:43:26 3458

转载 Objective C类方法load和initialize的区别

过去两个星期里,为了完成一个工作,接触到了NSObject中非常特别的两个类方法(Class Method)。它们的特别之处,在于iOS会在运行期提前并且自动调用这两个方法,而且很多对于类方法的规则(比如继承,类别(Category))都有不同的处理。而因为这两个方法是在程序运行一开始就被调用的方法,我们可以利用他们在类被使用前,做一些预处理工作。比如我碰到的就是让类自动将自身类名保存到一

2017-06-07 17:02:12 389

转载 Using Sockets and Socket Streams

This article explains how to work with sockets and socket streams at various levels, from POSIX through Foundation.Important: This article describes ways to make socket connections that are comp

2017-06-07 10:37:18 857

转载 从Android到Swift iOS开发:语言与框架对比

今天分享的主题是Java/Android开发人员如何快速上手Swift iOS开发。主要内容如下:Why From Java/Android to Swift Swift语言为什么值得学习? Java vs Swift语法比较Android和iOS UI开发比较Android vs Swift iOS框架比较开发工具比

2017-06-07 09:06:44 2980

转载 Android 开发之 App 启动时间统计

作为 Android 开发者,想必多多少少要接触启动速度优化相关的事情,当用户越来越多,产品的功能也随着迭代越来越多,App 逐渐变得臃肿是一件很常见的现象,甚至可以说是不可避免的现象,随之而来的工作就是优化 App 性能,其中最主要的一项就是启动速度优化。但本文的主角并不是启动速度优化,而是启动时间统计。一 启动类型工欲善其事,必先利其器。想要优化 App 的启动速度,必须有

2017-06-07 09:01:12 1034

转载 Open-Sourcing LayoutKit

Fast performance is a key feature of LinkedIn’s mobile applications. So when we first released the new LinkedIn iOS app, and we learned that our members were experiencing noticeable delays when view

2017-06-07 08:55:33 725

转载 #pragma 处理警告

首先#pragma在本质上是声明,常用的功能就是注释,尤其是给Code分段注释;而且它还有另一个强大的功能是处理编译器警告,但却没有上一个功能用的那么多。clang diagnostic 是#pragma 第一个常用命令:#pragma clang diagnostic push#pragma clang diagnostic ignored "-相关命令" // 你自己的代

2017-06-06 15:25:00 627

转载 携程App的网络性能优化实践

携程App的网络性能优化实践喜欢 | 作者 陈浩然 发布于 2015年4月25日. 估计阅读时间: 1 分钟 | 道AI风控、Serverless架构、EB级存储引擎,尽在ArchSummit!6 讨论分享到:微博微信FacebookTwitter有道云笔记邮件分享稍后阅读我的阅读清单编者按:在4月23日~25日举行的QCon全球软件

2017-06-05 21:47:46 798

谢晓枫-组件化实践中的冷启动优化-终稿.pdf

android 组件化实践中的冷启动优化,用于指导android架构经典实践

2019-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除