- 博客(23)
- 资源 (2)
- 收藏
- 关注
原创 NodeJs本地搭建服务器,模拟接口请求,获取json数据
1.创建一个最简单的项目安装nodejs 新建一个文件夹,进入目录 mkdir express 接下来安装 Express npm install -g express-generator@4 创建一个工程 express helloworld现在在express文件夹下就出现了helloworld项目 安装依赖 cd helloworldnpm ins...
2019-10-23 11:46:14 2209
原创 Android热修复原理分析
什么是热修复热修复:让应用能够在无需重新安装的情况实现更新,帮助应用快速建立动态修复能力。 早期遇到Bug我们一般会紧急发布了一个版本。然而这个Bug可能就是简简单单的一行代码,为了这一行代码,进行全量或者增量更新迭代一个版本,未免有点大材小用了。而且新版本的普及需要时间,以Android用户的升级习惯,即使是相对活跃的微信也需要10天以上的时间去覆盖50%的用户。使用热修复技术,能做...
2019-09-28 08:51:52 218
原创 内存溢出和内存泄露
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导
2016-12-09 14:46:28 322
原创 原 getBackground().setAlpha所导致问题
摘要: 使用getBackground().setAlpha,导致其他布局背景透明度都改变的问题 从晚上9点就开始琢磨,为什么我在一个地方设置了getBackground().setAlpha(0);在别的activity中有些控件也变成透明的了,让我百思不得其解,哦,现在是晚上十一点四十五,问题终于解决(解决不了睡不着觉啊),觉得挺有意思的,分享一下,先举个例子:<Linear
2016-11-21 18:18:13 373
转载 从此再有不愁自定义View——Android自定义view详解
对于我这样一个Android初级开发者来说,自定义View一直是一个遥不可及的东西,每次看到别人做的特别漂亮的控件,自己心里那个痒痒啊,可是又生性懒惰,自己不肯努力去看书,只能望而兴叹,每次做需求用到自定义控件,就直接去Github上找,找到合适的就用,找不到合适的,凑合也用,反正从来没想过要自己来做这样的东西,可是毕业以后到了新公司,为了自己的荣誉,这次不得不硬着头皮自己来了,一个月的紧张开发过
2016-11-14 11:05:28 608
原创 Android和HTML5混合开发
Android和HTML5混合开发,废话不多说开干:下面HTML代码:hello world input{ width: 100%; margin: 20px; margin-right: 20px; height: 200px; font-size: 50px; background: #00ff00; color: #fff; }
2016-11-05 12:57:08 3969
原创 Android热修复框架——AndFix
一直关注App的热修复的技术发展,之前做的应用也没用使用到什么热修复开源框架。在App的热修复框架没有流行之前,做的应用上线后发现一个小小的Bug,就要马上发一个新的版本。今天看了热修复技术,感觉挺好玩的,就实现了使用的全过程。下面记录使用开源框架阿里巴巴的AndFix过程。这里说的不是热修复怎么实现修bug的原理,这里说的是怎么使用AndFix。如果你想了解更多的andFix实现原理,你
2016-11-02 18:18:10 565
原创 设计模式之原型模式
定义:用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。类型:创建类模式类图:原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法
2016-11-01 15:09:12 210
原创 设计模式(Design Patterns)
设计模式(Design Patterns) ——可复用面向对象软件的基础设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编...
2016-11-01 13:39:20 294
原创 安装react-native命令和创建
安装react-native命令行工具react-native-cli1) 在命令行中进入你希望React-Native安装的目录2) 输入git clone https://github.com/facebook/react-native.git3) 进入刚刚目录下的react-native目录下的react-native-cli目录,输入npm install -g
2016-10-29 20:59:58 649
原创 iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
简介iOS有三种多线程编程的技术,分别是:(一)NSThread(二)Cocoa NSOperation(三)GCD(全称:Grand Central Dispatch)这三种编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的。三种方式的优缺点介绍:1)NSThread:优点:NSThread 比其他两个轻量级缺
2016-10-28 20:26:59 450
原创 设计模式之创建者模式
Builder模式 主要用于“构建一个复杂的对象”。把复杂对象的创建过程加以抽象,通过子类继承和重写方法,来得到具有复合属性的对象。 同时为了统一创建过程,把对象的创建操作统一封装到Director的方法中。 由于一个复杂对象的单个属性可能会发生变化(例如:制造汽车时使用的某一部件属于不同的厂家)但是整个复杂对象的构建过程却不会发生变化(例如:汽车的构建图纸
2016-10-28 15:13:21 229
原创 设计模式之观察者模式
观察者模式 Observer 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 这个主题对象在状态上发生变化时,会通知所有观察者对象,让它们能够自动更新自己。观察者模式的组成 抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用
2016-10-28 14:57:59 175
原创 Android如何使用Https
NoHttp是专门做Android网络请求与下载的框架。这一篇文章是NoHttp系列中比较重要的,为大家介绍一下内容:什么是Https? HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密
2016-10-26 10:31:26 907
原创 Mac 终端命令
目录操作命令名功能描述使用举例mkdir创建一个目录mkdir dirname rmdir删除一个目录rmdir dirname mvdir移动或重命名一个目录mvdir dir1 dir2 cd改变当前目录cd dirname
2016-10-24 15:55:35 284
原创 浅谈iOS中的闭包
1.1 用途 闭包在很多语言中都有应用,它在OC中被叫做Blocks,在Java中被叫做Lambda表达式,也有直接叫做匿名函数的。 简单的说闭包就是一种带有局部变量的匿名函数。 在C语言中,函数可以通过函数名直接调用,也可以通过函数指针调用,但是这都需要开发者知道函数的名字(函数指针也需要知道函数名以便在被赋值时得到函数的地址)。
2016-10-21 15:46:50 3056
原创 如何从软硬件层面提升 Android 动画性能?
若是有人问如何解决动画性能不佳的问题,Dan Lew Codes 总会反问:你是否使用了硬件层?动画放映过程中每帧画面可能都要重绘。如果使用视图层,,渲染过的视图可以存入离屏缓存以待将来重用,而无需每帧重绘。此外,硬件层缓存与 GPU 中,这使得动画放映中的某些操作更加快速。简单的转换(平移,旋转,缩放,开端)可通过硬件层快速渲染。由于许多动画只是这些转换的组合,使用硬件层可大大提高动画性
2016-10-21 10:18:57 633
原创 iOS接口回调模式
首先声明我是一个Android开发工程师,由于公司项目需要,我暂时转变成为了iOS开发,今天下午在做项目时,遇到的iOS接口回调,颇有些心得,分享给大家~~~ 废话不多说,直接上代码:在AlertDatePicker.h文件中@class AlertDatePicker;@protocol DatePickerViewDelegate @requ
2016-10-19 16:37:45 1054
原创 管理公钥和在不同git服务器上使用不同git公钥
公钥是git识别您的用户身份的一种认证方式,通过公钥,您可以将本地git项目与git服务器建立联系,然后您就可以很方便的将本地代码上传到git服务器上,或者将git服务器上代码下载到本地了。1. 生成公钥首先检查本机公钥:$ cd ~/.ssh如果提示:No such file or directory 说明你是第一次使用git。如果不是第一次使用,请执行下面的操作,清理原有ss
2016-10-18 19:15:10 1927
原创 IOS 开发中判断字符串是否为空字符的方法
- (BOOL) isEmpty:(NSString )string { if (string == nil || string == NULL) { return YES; } if ([string isKindOfClass:[NSNull class]]) { return YES; } if ([[str
2016-10-18 11:32:26 268
原创 UIDatePicker日期选择器
在设置日期像生日的时候会使用到UIDatePicker。我们需要首先需要设置为中国形式日期,通过属性Locale设置DatePicker的地区,即设置DatePicker显示的语言。1.如果想查看跟踪所有可用的地区标识,取出想要的地区NSLog(@"%@", [NSLocale availableLocaleIdentifiers]);2.设置日期选择控件的地区,中
2016-10-17 17:30:16 349
原创 Objective-C中的instancetype和id关键字
一、什么是instancetypeinstancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象。我们都知道未知类型的的对象可以用id关键字表示,那为什么还会再有一个instancetype呢? 二、关联返回类型(related result types)根据Cocoa的命名规则,满足下述规则的方法:1、类方法中,以alloc或
2016-10-14 15:25:21 241
原创 PresentViewController切换界面
视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画,其中切换方法如下:– presentViewController:animated:completion: 弹出,出现一个新视图 可以带动画效果,完成后可以做相应的执行函数经常为nil – dismissViewControllerAnimated:co
2016-10-14 13:51:57 462
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人