警言:慎终如始! Glide 這是一個強大的ImageLoader,Google也推這套Lib(明明自己就有volley…) 一開始是我在一些大神的Open source看到了這個Lib, 當時較流行UIL,…
分类:移动开发
系统级dialog与软键盘的冲突处理
Android6.0也上的机子,现在已经很少用到系统级别的对话框了,毕竟需要用户自己去开启权限。但是如果是开发基于6.0以下的系统,车载机,智能家居等Android设备,大多使用4.0~5.0的系统,或者是已经默认给了应…
安卓jar包冲突解决
在项目中尤其是大项目中,经常会引用很多第三发jar,或者lib,就难免出现jar包冲突的现象,一般冲突都会很详细的告诉你哪个类。比如 duplicate entry: xxx.class 解决的方法是在引入依赖的时候把相…
Activity的启动流程分析
Activity启动分为很多种情况,这里说的是打开新的应用程序第一个Activity的流程。 1. AcitivityManager产生新进程,新进程从android.app.ActivityThread.m…
Android Activity启动流程源码全解析(2)
接上之前的分析 ++Android Activity启动流程源码全解析(1)++ 1.正在运行的Activity调用startPausingLocked 一个一个分析,先来看看startPausingLocked: fi…
常用的设备及APP属性
// IOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)等 NSLog(@"name: %@", [[UIDevice currentDevice] name]); NSLog(@"s…
iOS 本地通知那些事
从iOS8开始,本质上来说有两种通知: 本地通知(local notifications):由开发者定义,App触发。触发的时间是被事先安排好的。 远程通知(remote notifications):这种情况下,通知可…
NSUserDefault 存储自定义对象
NSUserDefault 存储自定义对象 NSUserDefault 只可以存储 int、bool 等基本数据类型,或者 NSString 、NSArray等 复合类型。但是,如果一个自定义的对象的话,那该怎样使用呢?…
【译】MacWorld 1997
视频网址 1997年乔布斯回归苹果后一场比较正式的演讲,确立了苹果后面的策略————为天才制造改变世界的工具
iOS内存管理-TaggedPointer
1.背景 对于64位系统,为了节省内存和提高执行效率,苹果提出了Tagged Pointer的概念。 2.特点 苹果的64位Objective-C实现中,若对象指针的最低有效位为奇数,则该指针为Tagged Pointe…
自己动手写一个Camera
当我按照官网给出的例子完成camera程序后,我发现这么几个问题: 1. 从预览界面看到的图像,是实际景象逆时针旋转后的图像; 2. 第一个问题解决后,拍出来的照片依然是被逆时针旋转了90度的图像; 3. 第二个问题也解…
两个超级好用的Android 图片压缩框架
1.# Compressor 2.# Luban 因项目需求上传图片不要太大,经过几轮百度最终确定了这两个。 我使用的是第一个,压缩率超大、建议使用,使用方法也简单,生成图片存在缓存,不对原图产生影响。 具体使用方法点击…