自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 一个模板方法的例子

AbstractClasspublic abstract class Template { public abstract void print(); public void update() { System.out.println("开始打印"); for (int i = 0; i < 10; i++) { print()

2016-08-17 11:57:28 410

原创 根据图片高度动态改变ViewPager高度方法的两种方式对比: PageTransformer& OnPageChangeListener

前言:师兄让我先试手一下完成蘑菇街index页面,在做到实现“根据图片高度动态改变ViewPager高度”时,我遇到了选择viewpager api的问题,然后自己试着对此进行了一点总结。 首先我根据师兄的提示使用了PageTransformer这个接口,但是发现用它写出来的效果会有一些细微的bug,其本身对用户体验的影响很小,但我想试试用另外一个接口OnPageChangeListener然后最终

2016-08-15 10:34:40 2898

原创 关于Listview的一个没有notifyDataSetChanged导致的错误

log为:java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread,

2016-08-15 10:12:19 1782 1

转载 android 逆向工程

很多人写文章,喜欢把什么行业现状啊,研究现状啊什么的写了一大通,感觉好像在写毕业论文似的,我这不废话,先直接上几个图,感受一下。第一张图是在把代码注入到地图里面,启动首页的时候弹出个浮窗,下载网络的图片,苍老师你们不会不认识吧? 第二张图是微信运动步数作弊,6不6? ok,那我们从头说起……1.反编译 Android 的反编译,相信大家都应该有所了解,apktool、JEB 等工具。我们先看一

2016-07-25 17:59:54 978

转载 EventBus 3 [

EventBus 对于 Android 开发老司机来说肯定不会陌生,它是一个基于观察者模式的事件发布/订阅框架,开发者可以通过极少的代码去实现多个模块之间的通信,而不需要以层层传递接口的形式去单独构建通信桥梁。从而降低因多重回调导致的模块间强耦合,同时避免产生大量内部类。它拥有使用方便,性能高,接入成本低和支持多线程的优点,实乃模块解耦、代码重构必备良药。作为 Markus Junginger 大神

2016-07-25 17:28:21 383

转载 关于 Android N 那些你不知道的事儿

今年3月,Google 破天荒提前半年发布了 Android N 开发者预览版。当然,作为一个不合格的谷粉并没有第一时间体验安装,因为至今仍然能够回忆起来去年今日此门中(雾)兴冲冲刷了 Android M Preview 的时候发现各种 Crash 就连微信也(不出所料得)中招时自己一脸懵逼的心情。当然,为自己的机智而庆幸并没有过多久,很快就有微信好友(当然也是纯纯的谷粉)反馈微信又双叒叕在 And

2016-07-25 16:53:45 636

转载 Android性能优化典范之多线程篇

Threading Performance 在程序开发的实践当中,为了让程序表现得更加流畅,我们肯定会需要使用到多线程来提升程序的并发执行性能。但是编写多线程并发的代码一直以来都是一个相对棘手的问题,所以想要获得更佳的程序性能,我们非常有必要掌握多线程并发编程的基础技能。 众所周知,Android 程序的大多数代码操作都必须执行在主线程,例如系统事件(例如设备屏幕发生旋转),输入事件(例如用户点

2016-07-25 16:30:45 634

转载 QQ空间直播秒开优化实践

2016年应该是直播元年,直播应用百团大战,QQ 空间也在6.5版本上线了直播功能,从无到有、快速搭建了直播间。“先扛住再优化”,第一个版本和竞品相比,我们进入直播间的速度比较慢。根据外网统计在6.5版本的用户端看到画面需要4.4s,因此在6.5发布之后,着手启动了优化工作,目标:观看直播需要达到秒进体验(1s内看到画面)。先上一张直播间的截图:一、优化效果 1)实验室数据(小米5 WIFI)30

2016-07-25 16:20:08 2634

转载 Android自绘动画实现与优化实战

前言 我们所熟知的,Android 的图形绘制主要是基于 View 这个类实现。 每个 View 的绘制都需要经过 onMeasure、onLayout、onDraw 三步曲,分别对应到测量大小、布局、绘制。Android 系统为了简化线程开发,降低应用开发的难度,将这三个过程都放在应用的主线程(UI 线程)中执行,以保证绘制系统的线程安全。这三个过程通过一个叫 Choreographer 的定时

2016-07-25 15:56:49 2111

转载 Android 编码规范

前言 这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范。该文档仅供参考,只要形成一个统一的风格,见量知其意就可。1.1 术语说明 在本文档中,除非另有说明:术语 class 可表示一个普通类,枚举类,接口或是annotation类型(@interface)术语 comment 只用来指代实现的注释(implementation comme

2016-04-19 23:08:41 287

原创 Android开发中小技巧

PS:本文类容来自我在知乎上对Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?这一问题的回答,目前就总结这些,日后若有新的发现,随时补充。欢淫点赞。getParent().requestDisallowInterceptTouchEvent(true);剥夺父view 对touch 事件的处理权,谁用谁知道。ArgbEvaluator.evaluate(float fraction,

2016-04-19 14:42:44 409

原创 Android material Design 之CoordinatorLayout详解

CoordinatorLayout是design包里功能最为强大的一个新控件,搭配其他控件可以实现比较复杂的动画和布局效果。 一.参考官方文档:CoordinatorLayout是一个作为顶级布局的Viewgroup,是一个加强版的framlayout,既然说了是framlayout,那么就要记住framlayout的特性,那就是CoordinatorLayout如果不使用 AppBarLa

2016-04-11 01:28:54 4602 5

原创 安卓优化策略

现在的app到处都充斥着华丽的动画、复杂的转化还有自定义View,然而用户体验必须尽可能直观且类似。以下这些范例将会帮助你做出一个流畅的、快速响应的、甚至可能减少电量损耗的app,这些范例由一些可以提升整体应用表现的微优化组成。避免“坏”表现 避免堵塞主线程 避免可能引发大范围重绘的不必要的重绘 用 RelativeLayout 来减少布局层级 避免在 LinearLayout 中使用嵌套的

2016-04-10 12:23:09 299

原创 关于使用RecyclerView遇到的一些问题集合

一.使用RecyclerView要导入 compile ‘com.android.support:appcompat-v7:23.1.0’ compile ‘com.android.support:recyclerview-v7:23.1.0’ 这两个包,因为RecyclerView需要的一些文件v7包里没有,如果不导入,就会报XML文件错误。 二.java.

2016-03-31 14:17:00 347

原创 Android高德地图API配置

目前主流的地图类API提供者在中国就两家,高德和百度,不过个人建议选择使用高德地图API原因无非几个:百度系内部十分混乱,各部门极度官僚主义,使用百度地图的API就一个字:坑。相对而言 高德的API配置使用起来就是一种很便捷的过程了。要使用高德地图的API,首先要到官网注册一个账号: 如图所示,获得一个高德开发者账号之后,就可以使用高德的API服务了,点击控制台到后台界面,创建新应

2016-03-25 21:21:18 1449 1

转载 Android 控件的触摸事件传递与处理

了解Android控件的触摸事件传递与处理对我们日常开发中自定义控件和触摸事件冲突解决有重大意义。Android控件的触摸事件传递和处理主要有以下几个方法,下面一一介绍。一、与触摸事件有关的几个方法boolean dispatchTouchEvent(MotionEvent ev); 接收到触摸事件时,是否分发事件到下面的View 返回true:分发

2016-03-14 22:11:51 676

原创 Android笔记

1.在设置按钮背景图片时,尽量使用占用空间小的图片,这是因为Android系统在执行Oncreat方法时 绘制VIew,要把对应的背景图片解析成bitmap放在内存中,如果图片过大,会导致解析的进程耗时过长,因为setcontent是在UI线程中,所以会导致卡顿。 2.R.drowable下的文件加载通常不会导致OOM,因为Android系统有一定机制。 3.养成Bipmap使用完recycle

2016-03-11 10:13:25 297

原创 Android内存泄露总结

不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。如果我们的java运行很久,而这种内存泄露不断的发生,最后就没内存可用了。当然java的,内存泄漏和C/C++是不一样的。如果java程序完全结束后,它所有的对象就都不可达了,系统就可以对他

2016-03-10 23:34:14 486

原创 Java重要知识点总结

1.类field即为类中方法外定义的静态变量 类对象.类field合乎语法但是不合乎情理,因此最好写成【类.类field】2.在abstract class 中可以有自己的数据成员,也可以有非abstract的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstra

2016-03-10 14:49:53 554

原创 handle的思考

其实Android是基于消息机制的,通过Looper、Handler来实现消息循环,在线程间相互通讯.Looper里保存了消息列表,通过Handler发送的消息都会保存在Looper里先,然后在loop()方法里,遍历消息列队,分发消息.Handler负责传送消息,处理消息.So,多线程通讯的原理就是,通过另一个线程handler来发送消息,因为Android里主要是跟UI线程通讯,所以一般就在UI

2016-03-06 11:51:24 309

原创 Android 仿instagram登陆页面动画

instagram在国外很火,它的登陆界面做的很简洁,很有设计感。如果你用过ins的话一定会觉得它登陆界面上方的颜色变换独具特色。现在研究一下它的实现方法。 这是登陆界面,它下方的文本框实现不难,我们要实现的是这个部分: 首先我们下载到了instagram的安装包,把文件格式改为zip压缩格式,然后解压,我们再找到其存放资源的文件夹,就可以IDE到这样一张原始图: 我们能利

2016-03-05 16:12:48 2778

原创 Android实现登陆界面动画

先上效果图 静态的效果图无法完全展示效果。 上个gif图吧: 实现原理是利用安卓的AnimationDrawable资源。 在一个帧布局里有两个图层,下面的图层绘制一个椭圆,然后用Animation控制旋转,上面是一个viewpager,有两个页面,这两个页面个用Adapter填充,Adapter的元素是两个Fragement。图层设置透明度0.5,以显示下面的椭圆背景。

2016-03-05 14:51:41 5125 2

原创 安卓绘图之贝塞尔曲线

安卓的path类中有lineto和quadto两个方法,这两个方法所绘制的曲线一个不平滑,一个平滑 。如下图所示: lineto绘制的曲线 quadto绘制的曲线 这里我们着重塔讨论quadto绘制贝塞尔曲线的方法 先贴代码:final float previousX = prex; final float previousY = prey;

2016-03-04 13:04:06 500

原创 我的安卓回顾之旅:安卓自定义view 的练习

回顾:安卓自定义view 的练习学习安卓一年多了,最近重新做了一下自定义view的练习 直接贴代码: 首先是我们自定义的View类package example.jamase.drawbor;import android.app.Notification;import android.content.Context;import android.graphics.

2016-03-03 22:51:46 443

原创 android studio 关闭鼠标悬停自动显示文档

当我们的鼠标悬停在一个类上面时就会显示一个大面积的文档挡住当前界面,如何关闭这个功能呢?就是点击这个小×就OK了。

2016-02-29 20:34:30 916

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-11-27 13:39:10 259

java最新面试大全-jvm性能优化

java面试资料 当虚拟机启动时,解释器可以首先发挥作用,而不必等待编译器全部编译完成再执行,这样可以省去许多不必要的编译时间。并且随着程序运行时间的推移,编译器逐渐发挥作用,根据热点探测功能,,将有价值的字节码编译为本地机器指令,以换取更高的程序执行效率。

2018-08-01

自定义View绘图

自定义View绘图

2016-03-11

空空如也

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

TA关注的人

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