自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

gsg8709的专栏

一剑飞鸿技术博客

原创 Android设计模式之策略模式

看下策略模式的定义: 策略模式定义了一些列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变换。 乍一看,也没看出个所以然来。举个栗子吧。 假设我们要出去旅游,而去旅游出行的方式有很多,有步行,有坐火车,有坐飞机等等。而如果不使用任何模式,我们...

2018-01-12 15:47:30 694 0

原创 IOS设计模式之单例模式(Singleton)

定义  保证一个类仅有一个实例,并提供一个该实例的全局访问点。  定义包含三层含义:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须向整个系统提供这个实例。结构图 从结构图可以看到,单例模式(Singleton)是比较独立的一个设计模式,它的主要特点是控制某个类的实例唯一性,通过...

2017-10-11 15:06:40 422 0

原创 2017最酷的 30 个 Android 库

这里是 30 个我最喜欢的在 2017 年 3 月前新出现的 Android 库。其中一些并没有用于实际产品,但你使用它们可能会得到很多的乐趣。我希望你们喜欢这些库。下面的顺序不代表排名:1.Matisse这是一个漂亮的本地图片、视频选择器。其主要功能有:选择包括JPEG、PNG、GIF格式的图片...

2017-09-13 10:12:46 801 2

原创 Android 7.0新特性

Android7.0发布已经有一段时间了,目前越来越稳定了,有些厂商已经在新机子里开始应用了。今天我来专门就7.0中的新功能、新特性做一下总结。首先看一下7.0新LOGO哈! Android 7.0 Nougat! 是不是觉得这个logo有点小清新!重要的开发者功能 多窗口支持 通知 JI...

2017-09-12 15:11:33 658 0

转载 Android端应用秒开优化体验

前言最近部门内抛出了一个问题,应用启动很慢、卡图标?主要表现在中低端机型中。究其这个问题,由于对性能优化比较感兴趣,借了个低端机和一个中端机来一看究竟,对同一应用分别测了下它在中低端机的启动时间,下面为启动耗时情况: 启动了三次,基本都在4s左右。原因究其原因,主要因素是任务在界面绘制前过于...

2017-09-06 16:34:28 328 0

原创 SDAutoLayout 使用简介

都说 SDAutoLout 比 Masonry 好用.到底是哪方便优于它呢?下面我们来看看网上的一个例子,来分析用法. 请看下面这个图: 图上所示 现在我要讲的就是这种形式的cell的布局UIImageView *view0 = [UIImageView new];//创建头像 UILab...

2017-09-05 11:23:05 869 0

原创 android ViewFlipper屏幕切换

大家好,今天给我将介绍ViewFlipper屏幕切换,屏幕切换指的是在同一个Activity内屏幕间的切换,最常见的切换例如一个系统设置页面;一个个性化设置页面等。不说废话,直接看代码。 1.建立工程文件,命名TestviewfillerActivity。     2.布局文件main....

2012-03-07 22:20:00 4499 0

原创 Android 多Dex分包机制

问题引入 随着项目工程越来越庞大,代码的方法数不断增长到一定程度,就出现Android 低版本系统应用无法安装的情况。那么这是哪里出错了?Android系统对安装包有哪些限制? 前一阵子,我们发现公司的某一个业务,在Android 2.3及系统安装不了。此时,我们该业务的Android客户...

2018-08-31 11:33:55 537 1

原创 Android Studio 打包时 Signature Version 选择 V1 V2 说明

问题描述(v1和v2) Android 7.0中引入了APK Signature Scheme v2,v1是jar Signature来自JDK V1:应该是通过ZIP条目进行验证,这样APK 签署后可进行许多修改 - 可以移动甚至重新压缩文件。 V2:验证压缩文件的所有字节,而不是单个...

2018-06-28 16:34:49 191 0

原创 hash算法原理详解

散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码...

2018-04-21 12:49:44 434 0

原创 Git:代码冲突常见解决方法

今天会陆续整理一些日常开发中使用git工具所遇到的问题。方便以后查看。 1.git无法上传jar包问题 在用jar提交项目的时候如果没有使用maven 直接报jar包放在lib目录下然后提交的时候会出现无法提交的情况,可以使用以下的解决方案现在项目的根目录里面找到 打开以后 删...

2018-03-09 15:28:45 2798 0

原创 Eclipse关联Git的方法

想在Eclipse中进行Git的管理,提交更新,Push,文件还原等 解决方案:安装Eclipse插件,Egit即可,Egit是Eclipse git的简称 操作步骤: 第一步:打开网页http://www.eclipse.org/egit/download/ 第二步:选择插件的安装...

2018-03-09 13:24:10 1537 0

原创 在windows使用git命令方法

在windows使用git命令方法如下(以win7为例): 1、msysgit 是 Windows 版的 Git可以百度搜索Git下载。 2、安装完成后,开始菜单里找到“Git”->“Git Bash”打开Git。 3、注册用户信息:首先配置你的用户信息的Git命令。 git...

2018-03-08 19:01:47 2007 0

原创 androidstudio 拆包时设置dex方法个数

前言 Android应用程序,最终发布成一个apk,安装到手机上。 apk文件随便用一个解压缩文件打开,可以看到里面有一个classes.dex文件,这就是之前工程中所有的代码,以及所有依赖的jar包全部合并在一起生成的一个dex文件。关于dex文件是什么,可以自己去科普一下。 google当...

2018-03-05 19:29:53 1281 1

原创 git 配置增强版log

git 配置增强版log 配置前 git config –global alias.lg “log –color –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold bl...

2018-03-04 13:51:01 215 0

原创 git常用命令

一.git常用指令 1.查看帮助:git help 2.查看指定指令:git help clone(可以查看这个指令的所有操作文档) 3.搜索关键字:/clone (翻译:F 下一页 ,B 上一页) 4.退出帮助文档:输入Q 5.查看日志信息:git log 6.查看文件状态:git...

2018-03-04 13:28:30 115 0

原创 SVN常用命令详解

  命令的使用1、检出svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码svn co svn://路径(目录或文件的全路径) [本地目录全路径]  --username用户名 --password 密码svn  ch...

2018-03-04 12:15:11 71858 0

原创 Android彻底组件化

得到Android组件化方案已经开源,参见Android组件化方案开源。方案的解读文章是一个小的系列,这是系列的第二篇文章: 1、Android彻底组件化方案实践 2、Android彻底组件化demo发布 3、Android彻底组件化-代码和资源隔离 4、Android彻底组件化—UI跳转...

2018-02-08 18:52:14 269 0

原创 Android上SQLite的性能优化问题

1.利用android提高的的insert,query,update,deleteAPI与execSql,rawQuery函数执行原生的插入,查询,更新,删除语句操作花费时间的对比结果     在相同的环境(adnroid4.0)和相同的机器下执行相同的动作,记录条数也一样的情况...

2018-01-30 17:59:22 466 0

转载 Java实现的二分查找算法

二分查找又称折半查找,它是一种效率较高的查找方法。 折半查找的算法思想是将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小 于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一半。 折半查...

2018-01-29 11:13:25 179 0

原创 Android中Service和Thread的区别

首先我们要弄明白Service和Thread分别是怎么定义的: Thread 是程序执行的最小单元,它是分配CPU的基本单位。可以用 Thread 来执行一些异步的操作。Service是Android的四大组件之一,被用来执行长时间的后台任务。默认情况下Service是运行在主线...

2018-01-26 17:32:56 136 0

原创 音视频知识整理

本文介绍一些音频开发的基础常识,非常重要,因为不了解这些常识,很多Android API或者第三方库的参数,你都不知道该怎么配置。1. 音频开发的主要应用有哪些?音频播放器,录音机,语音电话,音视频监控应用,音视频直播应用,音频编辑/处理软件,蓝牙耳机/音箱,等等。2. 音频开发的具体内容有哪些?...

2018-01-23 14:35:09 255 0

原创 Java数据结构之LinkedList、ArrayList的效率分析

前言: 在我们平常开发中难免会用到List集合来存储数据,一般都会选择ArrayList和LinkedList,以前只是大致知道ArrayList查询效率高LinkedList插入删除效率高,今天来实测一下。 先了解一下List List列表类,顺序存储任何对象(顺序不变),可重复。 ...

2018-01-18 14:49:01 157 0

原创 RoboSpice:android异步网络库

android的开源网络库 RoboSpice, RoboSpice是一个使你建立异步的长时间的运行任务异常轻松的一个网络库,在网络请求,缓存支持,和提供开箱即用的rest请求方面尤为强大,想在30秒内快速学习,请访问this infographics。主要特性: supports Android...

2018-01-15 09:49:46 297 0

原创 android 调用js中的方法

Android中可以使用WebView加载网页,同时Android端的java代码可以与网页上的javascript代码之间相互调用。一 Android部分: 布局代码: <LinearLayout xmlns:android="http://schemas.android.com...

2018-01-11 16:23:05 212 0

原创 Android Activity卡顿原因总结

内存泄漏导致内存占用较高,导致JVM频繁触发GC。解决办法:尽可能的减少生命周期长的对象引用生命周期短的对象。导致内存泄漏的原因有一下几个: 1.查询数据库后没有关闭游标cursor,各种资源文件没有close。 2.构造Adapter时,没有使用convertView重用...

2018-01-10 18:27:45 1745 0

原创 Android 线程优先级

1.Android线程的优先级和设置方法Android线程的优先级和设置方法。Android线程大方向上来说,可以分为UI线程和background线程,如果从UI线程启动,则该线程优先级默认为Default,归于defaultgroup,会平等的和UI线程争夺CPU资源。这一点尤其需要注意,在对...

2018-01-10 14:33:12 3134 1

原创 IOS SDWebImage内部实现原理

想必大家都很熟悉SDWebImage了,项目中也经常用。可大家知道它的实现原理吗?今天就跟大家分享一下。 先看一下下面这幅图: 图片解释:内存层面的相当是个缓存器,以Key-Value的形式存储图片。当内存不够的时候会清除所有缓存图片。用搜索文件系统的方式做管理,文件替换方式是以时间为单位,剔...

2018-01-10 14:12:06 789 0

原创 Android之Merge与ViewStub布局标签

1 MergeMerge作为A布局根标签,其他布局文件B通过include引用A时,Merge标签会被去掉,在include里存放的是merge的子标签,以此减少布局文件的层次。<merge xmlns:android="http://schemas.android.com/apk...

2018-01-10 11:42:50 113 0

原创 Android文件下载资料整理

[Android快速实现文件下载(只有4行代码)(https://www.jianshu.com/p/46fd1c253701)

2018-01-10 11:30:31 106 0

原创 IOS中NSArray的4种遍历方式

objective-c 语言 数组遍历的4种方式:1、普通for循环;2、快速for循环;3、特性block方法;4、枚举方法。一. for循环Student *stu = [Student student]; NSArray *array = [NSArray arrayWithObjec...

2017-11-24 15:55:16 1278 0

原创 XML Namespace 命名空间

根据 Namespaces in XML W3C 推荐标准的定义,XML 命名空间 是由国际化资源标识符 (IRI) 标识的 XML 元素和属性集合;该集合通常称作 XML“词汇”。定义 XML 命名空间的主要动机之一是在使用和重用多个词汇时避免名称冲突。XML 模式用于为 XML 实例创建一个词...

2017-11-24 15:49:15 482 0

原创 网络抓包分析工具Charles及破解方法

简介Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。Charles是收费软件,可以免...

2017-11-24 14:40:03 573 0

原创 iOS解决NSArray、NSDictionary打印乱码问题

原来打印dict = { key1 = abc; key2 = "\U4e2d\U6587"; } array = ( abc, "\U4e2d\U6587" )使用方法:将 NSArray+Extension 和 NSDictionary+Extensio...

2017-11-24 14:16:12 585 0

原创 iOS 11 与 iPhone X的适配

前言9月20日,正式推送Xcode 9 和iOS 11 的正式版,适配iOS 11是首要的适配的,网上教程很多,不在赘述。这里主要讲的是 iPhone X的适配。大神级别的可以不用看,我这里讲的主要是基础的适配工作摘要启动图: 1125 * 2436 statusBar高度: 44 tabba...

2017-09-30 15:41:10 660 0

原创 Android设计模式之工厂模式 Factory

一.概述平时做项目跟使用第三方类库的时候经常会用到工厂模式.什么是工厂模式,简单来说就是他的字面意思.给外部批量提供相同或者不同的产品,而外部不需要关心工厂是如何创建一个复杂产品的过程.所以工厂模式可以降低模块间的耦合,同时可以提高扩展性(当有新的产品出现时,只需要扩展工厂就行了,上层模块不敏感)...

2017-09-30 15:28:01 236 0

原创 Java的反射机制

反射机制的功能Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类; 在运行时构造任意一个类的对象; 在运行时判断任意一个类所具有的成员变量和方法; 在运行时调用任意一个对象的方法; 生成动态代理。反射机制的利弊其实好处就是,增加程序的灵活性,避免将程序写死到代码里;但...

2017-09-30 15:04:37 192 0

原创 完美适配 iOS11

在Appdelegate.m中的didFinishLaunchingWithOptions 方法中添加如下代码,就全局搞定了!if (@available(ios 11.0,*)) { UIScrollView.appearance.contentInsetAdjustment...

2017-09-30 12:02:56 828 0

转载 Android设计模式之观察者模式

观察者模式(Observer Pattern) 定义对象间的一种一个(Observable)对多(Observer)的依赖关系,当一个对象的状态发送改变时,所以依赖于它的对象都得到通知并被自动更新。 当然,MVC只是Observer模式的一个实例。 Observer模式要解决的问题为:建立一个一(...

2017-09-30 11:35:39 569 0

原创 Android观察者模式简单实现

观察者模式就是:当一个对象的状态发送改变时,所有依赖于它的对象都能得到通知并被自动更新。下面介绍一种简单的使用方法,(下面有demo链接)先看一下project的目录构成: ObserverListener是观察者接口,SubjectListener是被观察者接口,ObserverManag...

2017-09-30 10:26:54 805 0

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