自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

微凉一季的专栏

随手笔记作用,没啥技术含量 欢迎跳转 www.jijiaxin89.com 个人博客

  • 博客(77)
  • 问答 (1)
  • 收藏
  • 关注

原创 Android AppOpsManager权限判断

整整大约一年没有更新文章了,最近有点忙。生活不能一直苟且,还要继续读诗和追追远方。 Android 本身权限控制做的不太理想,6.0也出了一套新的运行时权限系统,而在此之前,小米的miui系统就已经领先一步出了类似的安全管理机制,就是安全中心,可以针对单个app的某个权限做相应的设置,禁止某项权限,这对用户是好事,不再像以前那样,要安装app就必须要接受那一连串的不相干的权限。 说到这里,再鄙视

2017-01-06 20:19:27 6419 1

翻译 我们为什么要在Android中使用RxJava

本文翻译来自–>Why should we use RxJava on Android 另外: 微凉一季 再另外: 微凉一季感觉RxJava最近风生水起,不学习一下都不好意思了,洒家也是初学RxJava,也是感觉代码好像更复杂更难懂了,看了一篇外文感同身受,简单翻译一下。本文简单介绍使用RxJava优势所在。但可能需要有一点RxJava基础,推荐先看一下抛物线的那篇经典的匠心写作。

2016-01-14 14:12:09 5228 6

原创 Android Theme and Menu 主题菜单相关

出自 微凉一季的博客Demo学了一下Chris Banes大神的项目。总结一下theme相关的小知识点。先看个定义主题的不错的小case: 在values目录下建立两个命名为themes的文件:themes.xml<resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="Pla

2015-11-21 17:37:44 3778

原创 Vysor 情怀玩法 (番外篇)--调戏妹子

本文来自微凉一季的博客http://jijiaxin89.com/2015/08/31/Vysor-superior/#more 更多文章点击跳转微凉一季情怀前几天发现了一个小玩意Vysor ,用它可以在电脑上联动手机,不了解的可以看看 Vysor让你在电脑上完全控制android手机屏幕镜像多数人可能都是用USB连接手机玩儿的,但是。。。这显然还不够体面。 本可以更好玩点的!情怀来了!

2015-08-31 20:36:52 5044 1

原创 Android M 新的运行时权限开发者需要知道的一切

本文来自微凉一季的博客http://jijiaxin89.com/2015/08/30/Android-s-Runtime-Permission/ 更多文章点击跳转微凉一季tags: 翻译,这是一篇译文。android M 的名字官方刚发布不久,最终正式版即将来临! android在不断发展,最近的更新 M 非常不同,一些主要的变化例如运行时权限将有颠覆性影响。惊讶的是android社区鲜

2015-08-30 13:51:19 1938 3

原创 Vysor让你在电脑上完全控制android手机屏幕镜像(译)

本文来自微凉一季的博客http://jijiaxin89.com/2015/08/29/Mirror-android-phone-s-screen-and-gain-full-control-on-computer-with-Vysor/#more 更多文章点击跳转微凉一季你是否在苦苦寻觅一款能映射未root过的android手机屏幕的工具呢,并且获得完全的控制权!?好消息来了,一个刚发布

2015-08-30 00:54:24 7369 6

原创 gradle学习总结,偷窥android studio的底裤

用过android studio的对gradle应该都不陌生了,gradle文件的基本配置大同小异,略做了解使用应该是没什么问题了。但是深入细致的了解一下对于理解项目还是很有帮助的,尤其是遇到一些配置复杂的github项目,不了解gradle可能会遇到跑不起来又束手无策的情形。下面对gradle相关知识、用法做一下总结。DSL (domain specific language)即所谓领域专用语言,

2015-08-29 22:17:34 1290

原创 android SDK 无法更新的问题

最近一直更新不了sdk的兼容库。22.2.0以上的都没有,由于之前没有硬需求,也就忍了没更新。忍一时有时候并不会风平浪静,最近由于要接入印象笔记的分享,他家的demo用的最新的库,不更新高低是跑不起来,没办法,只有更新了。 由于臭名卓著的GFW && 自己对android更新机制其实了解的并不深入,所以搞了半天就是更新不了,真是醉了,闹得昨晚做梦,梦见没有墙了,无障碍的开发了,我敢打赌昨晚我一定笑

2015-08-28 16:14:21 1169

原创 如何紧跟android开发的潮流

title: 如何紧跟android开发的潮流 date: 2015-08-26 20:53:39 categories: 翻译 文章出处:转载自 微凉一季 的blog,转载注明出处而且 本文翻译来自外文今天看了篇文章,开发如何跟上发展的潮流,跟我的感受不谋而合,故整理翻译一下,以飨他人。android在世界上发展的非常迅猛,作为一个android 开发者,很重要的一件事就是要跟上前

2015-08-26 20:14:02 1068

原创 玩转hexo博客之next

原文链接,请跳转 玩转hexo博客之next分分钟添加背景音乐,high一下,搜索,等等,让你的博客瞬间花俏起来!

2015-08-22 00:53:54 4172 1

原创 透彻理解android转场动画

欲知天机,跳转下面链接: 分分钟看破android转场动画

2015-08-18 00:39:54 1785

原创 一个惊人的bug

原文链接 请跳转传奇博客地址

2015-08-14 13:18:47 1069

原创 android沉浸式状态栏实现细节

studio,中引入沉浸式兼容库 compile ‘com.readystatesoftware.systembartint:systembartint:1.0.3’ eclipse,可以导入相应的那个类。第一类,兼容actionbar 第一步:设置activity主题android:theme=”@style/ActionBarTheme”<style name="Actio

2015-07-30 18:39:53 1825

原创 从豌豆荚百度撕逼中学作文

半年了还能看到这个。 起,摆事实,极简洁的陈述句独立作为首段,一个字不多余。 承,讲道理,我们试图跟百度讲道理,“公开信”涂绿,绿 在这儿,沟通又醒目,接下来用比喻加拟人的修辞手法,既然对方是流氓。。有用就日了狗了。 转,道结果,你对我不仁,我对你还留一点义,起码我能让用户搜到你。逼格尽显。(好手段,让用户搜到你是个流氓,还不给你免费走流量,高实在是高) 合,有情怀,不认为是对的,与上面依然

2015-07-25 14:47:36 1105

原创 jcenter那些事儿

jcenter是一个服务器托管在bintray.com的maven仓库。in project’s build.gradle fileallprojects { repositories { jcenter() } }或者也可以用Maven Central:服务器托管在sonatype.org的maven仓库。allprojects { repos

2015-07-14 13:16:24 1764

原创 gpu渲染性能调优

Android开发者选项中提供了Profile GPU Rendering功能,用于在屏幕上实时显示GPU渲染每一帧图像花费的时间(单位:ms)。 小米手机。 开发者选项——gpu呈现模式分析——在屏幕上显示为条形图渲染时间用柱状图表示,上面的绿线代表16ms,也就是要尽量保证所有柱状图都在这条线下方。每一条柱状图都由3部分组成,蓝色、红色和黄色,代表渲染的3个不同的阶段,通过分析这三个阶段的时间

2015-05-28 00:12:49 6180 1

原创 android性能调优-工具记录

1、Trace view Trace view是Android平台特有的数据采集和分析工具,Trace view本身只是一个数据分析工具,而数据的采集则需要使用Android S D K中的Debug类或者利用D D M S工具。 关键代码段开始前调用Android SDK中Debug类的startMethodTracing函数,并在关键代码段结束前调用stopMeth

2015-05-26 15:06:37 801

原创 代码优化要点

消息缓存 通过handler.obtainMessage复用之前的message,如下:handler.sendMessage(handler.obtainMessage(0, object));网络缓存 数据库缓存http response,根据http头信息中的Cache-Control域确定缓存过期时间。文件IO缓存 使用具有缓存策略的输入流,BufferedInputStream替代I

2015-05-18 14:11:26 563

原创 android调优总结

android:exported=”true”, 该 activity 可以被其他应用调用.—————————————————————————————调优总结蓝色,淡绿,淡红,深红代表了4种不同程度的Overdraw情况,我们的目标就是尽量减少红色Overdraw,看到更多的蓝色区域。 1、Overdraw有时候是因为你的UI布局存在大量重叠的部分,还有的时候是因为非必须的重叠背景。例如某个Act

2015-05-17 23:36:36 562

原创 Java Thread(线程)案例详解sleep和wait的区别

sleep()方法 sleep()使当前线程进入停滞状态(阻塞当前线程),让出CUP的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会; sleep()是Thread类的Static(静态)的方法;因此他不能改变对象的机锁,所以当在一个Synchronized块中调用Sleep()方法是,线程虽然休眠了,但是对象的机锁并木有被释放,其他线程无法访问这个对象

2015-05-02 00:01:16 867

原创 synchronized 同步锁

Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(this)同步

2015-05-01 23:15:37 713

原创 图片压缩和缓存高效加载规避oom总结

高效加载大图片查看每个应用程序最高可用内存是多少:int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024); Log.d("TAG", "Max memory is " + maxMemory + "KB"); BitmapFactory这个类提供了多个解析方法(decodeByteArray, decodeFile, de

2015-04-15 18:42:11 3195

原创 IntentService精要点总结

1.Service不是一个单独的进程 ,它和应用程序在同一个进程中 2.Service不是一个线程,所以我们应该避免在Service里面进行耗时的操作由于服务进程的优先级高于后台进程, 因此如果activity需要执行耗时操作, 最好还是启动一个service来完成. 当然, 在activity中启动子线程完成耗时操作也可以,但是这样做的缺点在于,一旦activity不再可见,activity所在

2015-04-15 16:04:39 3090

原创 Android 操作系统中的内存回收策略

Android 操作系统中的内存回收可分为两个层次:1、默认内存回收、即Application Framework 层的默认回收。2、内核级内存回收。 Linux 内核中的内存回收 lowmemorykiller、OOM_killer。默认内存回收:(代码可查阅 ActivityManagerService.java类)回收动作入口activityIdleInternal()。 Android

2015-04-15 14:30:19 10674 2

原创 onSaveInstanceState+android生命周期补充

Ctrl+Shift+M 导入包 onCreate(Bundle).接收一个参数,可以是null或由onSaveInstanceState()方法以前保存的某个状态信息。onSaveInstanceState(Bundle)。android调用该方法的作用是让活动可以保存每个实例得状态,如光标在文本字段中的位置。通常无需覆写该方法,因为该方法的默认实现会自动保存所有用户界面空间的状态。 onRe

2015-04-14 09:34:43 11130

原创 面对对象 谈恋爱五大原则浅析!

面向对象编程其实无时无刻不在向我们阐释婚恋观面向对象编程5大原则,想来跟处对象是一样一样的:单一职责原则(SRP): 做一个单纯的人,才会有简单《稳稳的幸福-陈奕迅》; 一个类应该仅有一个引起它变化的原因开放封闭原则(OCP):悟以往之不谏,知来者犹可追; 既开放又封闭,对扩展是开放的,对更改是封闭的!里氏替换原则(LSP):花心大萝卜才能永远立于不败之地; 子类可以替换父类并且出现在父类能

2015-03-13 20:36:22 7648 1

原创 痴汉学android,胡来胡读胡记录

Handler 一个线程只有启动了Looper,才能在其中创建Handler的对象,进行消息处理,否则程序会出现异常。 启动Looper通过调用静态方法Looper.prepare();来实现。 一个线程只能有一个Looper和一个MessageQueue,但是可以有多个Handler对象。程序中可以使用不同的Handler对象处理不同的消息。Timer定时器也是常用的实现多线程程序的方式,但是

2015-03-12 01:38:44 5896 3

原创 MeasureSpec&OpenGL&SQLite——tips

MeasureSpec.EXACTLY 容器视图调用方已经指定了孩子视图的精确大小 MeasureSpec.AT_MOST 容器视图调用方设置了最大值,孩子视图可以请求更少的空间 MeasureSpec.UNSPECIFIED 容器视图对孩子视图没有限制,孩子视图可以随意请求大小部件调用setMeasureDimensions设置高度和宽度属性。然后,其父亲节点可以

2015-03-10 17:52:45 2842

原创 zygote&AsyncTask的doInBackgroud方法

zygote 有时候会遇到报有关zygote的错,这是个什么东西呢,简单理解就是孵化池。 当每个新的进程启动虚拟机的一个新的实例时,如果每次都加载所有必要的基类,则效率会很低。android把每个应用放在独立的进程中,他会利用底层linux操作系统的fork操作,通过模板进程生成新的进程,该进程在启动新的虚拟机实例时能够达到最优状态,该模板进程的名字就是zygote。zygote模板进程是dal

2015-03-09 21:16:55 4247

原创 Acticity和Intent精准定义

放假回来,本想任性一把,没想到更深刻的认识到了生活之艰辛,我还很弱小,不能凭一己之力改变亲人的生活,所以我还要加油。。。onCreate()方法,activity启动后被调用,此时界面没有显示出来,一般用于初始化,该方法须要一个Bundle类型的参数,当方法被调用时由系统传入该参数。 onStart()方法,当activity状态变为可见状态是被调用。 onResume()方法,当Activit

2015-03-06 00:22:10 8551

原创 duang,duang!!duang.java.mustReadTips

成员变量的定义是绝对安全的,对象创建时会自动初始化,布尔值初始化为false,基本数据类型初始化为0,对象类型(包括String)初始化为null。 通过clone方法,可以不调用构造函数而直接创建对象,虽然object类中定义了clone方法,但是一个对象中调用clone方法会导致异常,除非该对象实现了cloneable接口,当创建一个对象代价很高时,clone方法可以称成为一种有用的优化方式。

2015-03-05 19:07:17 9928

原创 童年在人间我的大学

听着歌,悠闲地度过年前最后一个工作日。“我知道自己和你有很大差距。。。拼命地争取不如放弃。。。我没有歇斯底里,我只是望尘莫及。。。总是说后悔有期。。。我还在原地,你飞向天际。。。”歌词是最容易打动人心得。过去的一年,真是五味杂陈,经历了很多,成长了很多,当然遗憾也有很多,不是三言两语可以说完的。。佛曰:这是一个娑婆世界,没有遗憾,给你再多快乐也感觉不到幸福了。。。so,有遗憾也不代表就多失败,比浑浑

2015-02-15 11:31:22 1408 1

原创 虚拟机类加载机制.

虚拟机把描述类的数据从class文件加载到内存,并对数据进行校检、转换解析和初始化,最终形成可已被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。 类的加载、连接和初始化过程都是在程序运行期间完成的,这样虽然会令类加载时稍微增加一些性能开销,但是会为java应用程序提供高度灵活性,java语言运行期类加载的特性。 类从被加载到虚拟机内存中开始,到卸载出内存为止,他的整个生命周期包括:加载

2015-02-10 18:44:48 4504

原创 class文件结构

代码编译结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。class文件是一组以8位字节为基础的二进制流,各个数据项目严格按照顺序紧凑的排列在class文件之中,中间没有添加任何分隔符,这使得整个class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。当遇到需要占用8位字节以上空间的数据项时,则会按照高位在前的方式分隔成若干个8位字节进行存储。 clas

2015-02-09 17:08:39 782

原创 调优案例分析

堆外内存导致的溢出除了java堆和永生代之外,西面这些区域还会占用较多的内存,这里所有内存总和受到操作系统进程最大内存的限制。Direct Memory线程堆栈Socket缓存区:每个socket连接都receive和send两个缓存区,分别占大约37k和25k内存,连接多的话这块内存也很客观,如果无法分配则绘抛出IOException:Too many open files异常。JNI代码

2015-02-09 14:39:27 899

原创 垃圾收集器与内存分配策略

可达性分析算法 来判断对象是否存活。这个算法的基本思路是通多一系列的称为“gc roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到gc roots没有任何引用链项连时(图论来说,从gc到这个对象不可达),则证明此对象是不可用的。 JAVA语言中,可作为gc roots的对象包括下面几种:虚拟机栈(栈帧中的本地变量表)中引用的对象。方法区中类静态属性

2015-02-09 11:06:49 833

原创 深入理解java虚拟机

深入理解java虚拟机java技术体系,按所服务的领域划分:java card:java小程序applets运行在小内存设备如智能卡,上的平台java ME(micro edition):支持java程序运行在移动终端手机pad上的平台,java api有所精简java SE:面向桌面级应用,windows下的应用程序,的平台,完整的java核心apijava EE:支持使用多层架构的企业应

2015-02-07 10:04:31 3092

原创 当时只道是寻常

当一个人陷入感情的深潭里 身边每一个人,都在幸福的生活 青梅觉得,她和东郎表哥之间,始终隔着距离 万千心事柔情,尽赋词中 如花美眷,似水流年,他填词她抚琴 太学读书,心灵的那把锁 默默地想陪, 午后的阳光,温暖而慵懒 绿罗裙,清新素雅,静美沉醉,丝绢上一朵并蒂,开的不管不顾 神机漂亮,高贵夺目 为何不去宴席,惊扰她的安静, 水中的比目鱼悲欢如梦,人生就是一场轮回, 一个在世间

2015-02-05 23:08:41 9537

原创 禅师与青年

有心的人,不管你在与不在,都是惦念。 不离不弃的,才是真朋友,不见不散的,才是真守候。 那时我们有梦 你说,你只是想停下来,去远方,看看这个世界有多精彩。 在某个悠闲的下午,喝杯咖啡,坐在窗边,漫不经心的回想。 背着行囊,在异国他乡的露天咖啡停下。 仿佛为了你的初衷,也淡了。 开始眷恋的,路边的,就吧里,伴着电音,或民谣的,一把酒。 爱情原本只是部分的生活 梦想这个词语,太重了。

2015-02-05 22:27:05 991

原创 NullPointerException android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState

fragment 加 viewpager做tab的时候容易出这个空指针异常,看源码:if (f.mSavedViewState != null) { if (result == null) { result = new Bundle(); } result.putSparseParcelableArray( FragmentMan

2015-01-30 11:35:12 1912

空空如也

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

TA关注的人

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