- 博客(29)
- 资源 (7)
- 收藏
- 关注
原创 如何截取RecyceView (避免SimpleDraweeView异步加载图片出现空白)
小伙伴们如果截取recycleview且item项中如果使用了异步加载框架,比如SimpleDraweeView,那么肯定会遇到SimpleDraweeView出现空白的尴尬场面,经过两天的摸索和多次的尝试,终于找到了方面的解决的问题原因:在截图超过手机屏幕的时候我们使用的方法是重新绘制每个item项然后画在画布上从而生成一张bitmap,但是使用异步加载框架就会出现绘制完了图片还未加载出来的尴...
2019-08-02 17:25:21
1147
原创 Java判断是不是昨天
话不多说直接上代码吧:原理就是先将当前时间和目标时间转化为当日的零点零分,然后比较两个时间的差值//是不是昨天public static boolean isYesToday(String dateStr) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date...
2019-08-02 16:18:23
1786
原创 Android面试一天一题(Day 1)
Activity的生命周期离2018年春招黄金月还有1个多月的时间了,本人不才在秋招先后拿了3个offer(一家上市公司,一家独角兽,一家创业型公司) 既然是学Android当然少不了对Activity的使用,多的不说了,先看一幅图: 这个图大致描述清楚了每种情况下Activity的生命周期走向,那我们怎么把它运用到具体的开发中呢,下面我们举例说明: 1.A跳转到B,A不透明: 2
2019-04-19 15:40:17
422
原创 Android Studio + MemoryAnalyzer 查内存泄漏详细教程
###下文主要介绍android开发过程中内存泄漏怎么查,喜欢点个赞####1.通过Monkey命令运行手机这一步主要是使程序尽可能的随机的多去一些页面,当然你也可以自己手动点:adb shell monkey -p xxx(包名) -s 500 -v 10000####2.通过android device monitor 打包 hprof 文件(1)在android studio中选中...
2019-01-28 21:48:57
1441
原创 synchronized 关键字的使用详解+案例
synchronized 锁其实就是一个对象锁,我们用具体的例子来看看它到底是怎么运行的:测试一://同步锁失效,测试1public class Syn1 { public synchronized void start(){ System.out.println("仰卧"); try { Thread.sleep(10...
2018-07-16 16:43:19
509
转载 关闭Activity的封装(在a Activity中关闭b Activity)
转载自https://www.jianshu.com/p/3eec8988912a 尊重原创前言最近项目中涉及需要在一个Activity中关闭另一个Activity或者在一个Activity中关闭多个Activity的需求,不涉及到应用的退出。自己首先想了一些方案,同时也查了一些方案,就各个方案比较下优劣,个人推荐使用第三种。方案一广播的方式这个是最容易想到的,同时也是网上提供...
2018-07-12 22:01:28
539
原创 Android高版本不兼容低版本gradle问题
Android 解决 .build.gradle.tasks.factory.AndroidJavaCompile.setDependencyCacheDir(Ljava/io/File;)V我的是AndroidStudio 3.0 上导入了一个较老的项目,gradle 版本是 2.2的,然后发现导入之后报如下错误:Error:Cause: com.android.build.gradle.
2018-02-06 19:18:00
5741
3
原创 setClickable 和setEnable 的区别
setClickable 和setEnable 的区别共同点: setClickable(false)和setEnable(false)都是禁止点击区别: setClickable()是设置控件点击无效,但是可以点击,颜色不会变灰色。而使用他时 setClickable(false)方法一定要放在setOnClickListener()方法之后。不然没有效果 。 我们来看一下Andr
2018-01-31 22:25:01
1940
转载 android ObjectAnimator 详解
动画之-> ObjectAnimator 极客学院Animation教程讲解的很详细,点击进入哦前言先学习ValueAnimator,学习ObjectAnimator会容易很多~一、秒懂ObjectAnimatorObjectAnimator派生自ValueAnimator,所以ValueAnimator能用的方法,Objec
2018-01-31 15:33:47
21931
转载 Android Studio 断点时输出日志
你是不是有着这样的烦恼: 调试程序常常需要到处打印日志(没办法,debug需要) 打印日志需要对代码进行修改(改来改去一不小心就忘了删除,或者破坏了代码) 改完代码还要重新编译(编译一次要等待好久!怎么办?有没有谁能满足我,让我愉快地debug?没有天马行空的日志代码,没有每次重新编译的苦苦等待? 好吧骚年,我看你骨骼惊奇,是万中无一的debug奇才,来来来,我偷偷告诉你,
2018-01-26 17:30:26
2790
原创 Android APK瘦身经验总结
前言:无论手机的内存有多大, 我们自然都希望一个应用的安装包能越小越好,更小的APK标示着更多地用户愿意去下载和体验。本文对常规的APK瘦身方法进行归纳和总结是什么造成了APK越来越大呢? 应该从哪些方面入手对APK进行瘦身呢?1.冗余的代码,不必要的jar包;2.未使用的静态资源,libs;3.屏幕适配时,资源的重复使用;4.错误地预置数据5.native code6.未进行图片资源的优化与压缩
2018-01-15 17:36:36
318
原创 去掉RecycleView或者ListView上下滑动阴影
只需要设置两个属性即可: android:overScrollMode="never" android:scrollbars="none"另外简单介绍一下: 设置滑动到顶部和底部的背景或颜色:android:overScrollFooter="@android:color/transparent"android:overScrollHeader="@android:color/tr
2018-01-03 10:53:36
630
原创 windowIsTranslucent遇到的坑
首先介绍一下window 一些属性<item name="android:windowFrame">@null</item> :Dialog的windowFrame框为无<item name="android:windowIsFloating">true</item>:是否浮现在activity之上<item name="android:windowIsTranslucent">false</i
2018-01-02 21:17:28
8691
2
原创 Android双击事件拦截
下文我们介绍两种双击事件拦截的方式1.通过Android的事件分发机制进行拦截(dispatchTouchEvent)话不多说,直接上代码: /** 判断是否是快速点击 */ private static long lastClickTime; public static boolean isFastDoubleClick() { long time = Sys
2018-01-02 20:25:54
2404
原创 源码解析之--ArrayList
ArrayList应该是Java日常开发中使用频率最高的集合类型之一(还有HashMap),虽然我们经常使用它,但大多数人可能都不太清楚它的实现原理和运行机制从这篇文章中我们能学到什么: 1. ArrayList的内部定义(包括数据结构,实现接口) 2. ArrayList的最小最大容量 3. ArrayList的扩容原理 4. ArrayList的序列化方式 下面我们一起从ArrayLi
2017-12-11 15:51:43
247
原创 Android UI布局的性能分析和优化措施
前言 说到UI布局的性能就不得不提到Overdraw,那么什么是Overdraw? Overdraw就是过度绘制,是指在一帧的时间内(16.67ms)像素被绘制了多次,理论上一个像素每次只绘制一次是最优的,但是由于重叠的布局导致一些像素会被多次绘制,而每次绘制都会对应到CPU的一组绘图命令和GPU的一些操作,当这个操作耗时超过16.67ms时,就会出现掉帧现象,也就是我们所说的卡顿,
2017-12-07 22:09:49
1308
2
原创 Android使用Handler造成内存泄露的分析及解决方法
一、什么是内存泄露? Java使用有向图机制,通过GC自动检查内存中的对象(什么时候检查由虚拟机决定),如果GC发现一个或一组对象为不可到达状态,则将该对象从内存中回收。也就是说,一个对象不被任何引用所指向,则该对象会在被GC发现的时候被回收;另外,如果一组对象中只包含互相的引用,而没有来自它们外部的引用(例如有两个对象A和B互相持有引用,但没有任何外部对象持有指向A或B的引用),这仍然属于不可到
2017-12-07 21:24:40
317
原创 Android 自定义PopWindow的简单使用
下面用一个简单的自定义布局来讲解PopWindow的使用先看效果图:1.popwidow的类实现:import android.content.Context;import android.graphics.drawable.BitmapDrawable;import android.view.View;import android.widget.PopupWindow;public clas
2017-12-07 18:02:42
1084
原创 android 更改TextView中任意位置字体大小和颜色
这里介绍两种方法,一种是Spannable,一种是Html.fromHtml(通过html标签来改变),实际中看您使用哪种方便选择使用即可1.Html.fromHtml的使用TextView textView = (TextView) findViewById(R.id.text);String textSource = "修改TextView中部分文字的<font color='#ff0000'
2017-12-07 16:47:20
1501
转载 android 定时任务(TimerTask和Handler对比)
前言最近项目上有这么一个需求,实时监控车辆信息,要求每隔3秒钟刷新一次地图上的车辆位置信息。我的想法是先定时从服务端获取数据存储到SharedPreferences中,然后再定时从SharedPreferences中获取数据显示到地图。对这个逻辑我不满意,但是一时也找不到别的方法,望大神指教。在使用定时任务的时候,最开始想到的是Timer。无意中看到一种Handler加Runnable方法,觉得还是
2017-12-06 11:56:45
3525
原创 Android px,sp,dp,sp 之间的关系
先来说说基本的概念吧: 手机的尺寸: 屏幕对角线的长度,单位为英寸(2.54cm) 手机的分辨率:屏幕能显示的像素的数量, 一般用在长方向上数量*宽方向上数量来表达,即经常说的1920*1080 手机的像素密度ppi(pixels per inch):即每英寸屏幕能显示的像素数,像素密度越大,显示画面细节就越丰富。计算:像素密度={1+√[(长度像素数-1)^2+(宽度像素数-1)^
2017-12-04 20:54:13
412
原创 2017 android面试题总结
JAVA知识点:1.malloc是个函数,new是个操作符;都可以初始化对象2.JAVA的内存结构分为:栈区,堆区,静态区域(方法区) 栈区:栈的读取速度最快,所以保存一些局部变量和小型数据,每个线程都有自己的私有栈 堆区:对象,栈区保存的对象是堆区中的地址,JVM只有一个堆区,且被所有线程共享,存放对象本身和数组本身 静态区:字符常量和一些成员变量,代码3.Java内
2017-12-04 20:52:49
374
原创 android volley对于AsyncTask和httpclient的比较
HttpUrlConnection 和HttpClient已经Volley
2017-12-04 20:47:58
429
原创 EditText 去光标和下划线,控件置于另一控件之上
设置 android:background=”@null”隐藏下划线,android:cursorVisible=”false”隐藏光标,默认为TRUE <EditText android:layout_width="match_parent" android:layout_height="match_parent" andro
2017-12-04 20:36:35
353
原创 优快云等级规则以及博客专家
博客积分规则博客积分是优快云对用户努力的认可和奖励,也是衡量博客水平的重要标准。博客等级也将由博客积分唯一决定。积分规则具体如下:1、每发布一篇原创或者翻译文章:可获得10分; 2、每发布一篇转载文章:可获得2分; 3、博主的文章每被评论一次:可获得1分; 4、每发表一次评论:可获得1分(自己给自己评论、博主回复评论不获得积分); 5、博文阅读次数每超过100次:可获得1分,阅读
2017-12-04 15:34:17
5106
31
原创 Java中Vector和ArrayList,LinkedList的区别
文章目录ArrayList 和 Vector 、LinkedList 对比
2017-12-04 10:50:31
1894
转载 java byte/char/string/int之间的转化
ava中的byte[]/char[]/int/String数据类型转换目录(?)[+]八种基本数据类型各数据之间转化Stringbyte1 Stringbyte2 byteStringStringchar1Stringchar2charStringStringint1Stringint2intStringStringchar1Stringchar2charStringStringbyte1Stri...
2017-04-19 20:48:02
1565
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人