排序:
默认
按更新时间
按访问量

Android 性能优化 - 彻底解决内存抖动

起源 内存抖动是由于短时间内有大量对象进出新生区导致的,它伴随着频繁的GC。 gc会大量占用ui线程和cpu资源,会导致app整体卡顿 android profile 效果图如下图 Memory 中 我们可以看到 上面的一溜白色垃圾桶。说明在大量的执行gc操作。用了一会儿 手机就...

2018-02-11 15:53:20

阅读数:1167

评论数:0

Android 性能优化 - 彻底解决内存泄漏

起源 有趣的灵魂千奇百怪,内存泄漏的也是各式各样 我在15年写过一遍 文章 《 android中常见的内存泄漏和解决办法》http://blog.csdn.net/wanghao200906/article/details/50426881,时隔三年居然还有人我问 该如何解决 内存泄漏的问题,...

2018-02-10 15:42:59

阅读数:2672

评论数:4

android studio 3.0 Ndk 开发- 利用增量更新进行 apk的覆盖安装

学习目的 在android studio 3.0的 基础上同时生成多个so包,cmake的编写 开发安卓程序进行ndk开发 自动生成 增量包 patch 生成 合并的so 库进行patch文件的合并 解决 引用三方so库 方法报红 的问题 演示 增量更新就是,app自动更新的时候不...

2018-02-01 15:02:25

阅读数:302

评论数:0

android 使用FileProvider 兼容apk 在7.0版本无法安装

源头 都是因为一个bug android.os.FileUriExposedException: file:///storage/emulated/0/mwh/app.apk exposed beyond app through Intent.getData() 因为这个bug 显示 ...

2018-01-31 15:37:45

阅读数:502

评论数:0

AndroidStudio3.0 NDK开发- 如何在已有项目中进行NDK开发

源头 由于androidstudio 不断地在完善ndk的开发,所以市面上好多文章已经过时了。 本文将从两种方法来讲解如何在androidstudio3.0 上进行ndk的配置。 本文章会学到如下操作: 1.从创建项目进行ndk开发 2.在原有项目的基础上进行ndk开发。 3.为什么生成...

2018-01-24 18:01:02

阅读数:2969

评论数:0

源码解读,support v4、v7包是如何实现向下兼容的

写在前面上一篇文章 Android 字体国际化适配方法以及源码解析 讲到了如何 适配各国语言长度不同的问题。为了兼容低版本用到了V4 包。用了那么久的v4包,但他是如何做到乡下兼容的呢?这次通过同一个适配的小例子来查看一下 。v4包是如何做到向下兼容的。目的 了解v4 v7 是如何实现向下兼容的...

2017-11-21 15:58:42

阅读数:666

评论数:0

Android 字体国际化适配方法以及源码解析

起源由于我们公司的app,支持多国语言,所以就导致了 同样的文案,但是长度不同,就会出现适配的问题,因为 中文 是 字表义,外文是 音表义。 今天就用8.0新特新来解决这个问题。适配前是这样的在固定的宽高就会出现适配的问题,在之前博客中也写过解决方案 多语言适配,让text自动改变大小 但现在...

2017-11-17 16:32:48

阅读数:1345

评论数:0

自己手写百分比控件布局

手写百分比控件布局,我觉得要比用谷歌官方的好一些。虽然我也没看谷歌官方是怎么写的。思路给个百分数,乘以父控件的 宽高,得到的值 赋值给子view。就搞定了抛砖引玉 来张图感受一下 第一个是什么都没做的 第二个是用了百分比布局的,并且用了我之前的写字体根据宽高自动缩放的控件 地址:http://b...

2016-06-08 13:50:22

阅读数:1291

评论数:9

向glide致敬,自己写Gif动图加载框架

用Glide很久了。除了对他膜拜就是膜拜,尤其是它可以实现gif的动态加载,那么我们今天就自己来实现以下如何动态的显示Gif。最后要提一句这个思路呢是从动脑学院得知的。他们是一个很牛逼的培训团体。希望广而告之上图片 实现功能 1,加载本地gif 2,加载网络gif 用到技术 1,movie类 2...

2016-05-23 17:30:47

阅读数:4857

评论数:9

RecycleView实现侧滑和拖动

在研究recycleview,发现非常强大,简单的实现个功能 功能需求 长按拖动,点击android图标拖动 左右滑动删除item 功能很简单都是一些api的东西。没有太多讲的。直接上代码好了。先看主函数的类package example.com.recycleviewanimation;imp...

2016-05-13 13:09:56

阅读数:2199

评论数:3

彻底理解handler的实现原理

说到handler大家都很熟悉,自己也用了很久,再此总结一下。涉及到的内容: Loop Message MessageQueue ThreadLocal Hadnler 这些东西还是挺多的。那么我们先看一个栗子吧 public class MainActivity extends Activity...

2016-05-09 18:12:58

阅读数:7703

评论数:9

用dimens去实现 屏幕适配

屏幕适配很简单没想到到现在了还有人在各种问屏幕适配的问题。我真是服了。 15年的时候国内就有很多大神分享了各种屏幕适配的方法。 最近突然被十几个人问。我依然为了应付回答来写博客了。哈哈我们公司就是dimens方法。最low、最简单、最实用。下面是代码直上代码。这个代码运行一下就会出现一堆res...

2016-04-12 11:02:40

阅读数:1018

评论数:4

完美解决 手机软键盘遮挡问题

遇到的问题同事的项目在做登陆的时候遇到个问题,就是弹出软键盘把按钮遮挡了。网上好多方法 试了一遍效果都不好。 那么我们该如何解决这个问题呢?解决思路 弄个scrollview,让软键盘把scrollview顶上去 不弄scrollview。让软键盘把 输入框顶上去,其他的图片用属性动画移走或者...

2016-04-10 16:15:53

阅读数:2851

评论数:11

让listview在scrollview中自由滑动

总有人我listview嵌套scrollview怎么弄。一问就是半天,太耗时,所以写个博客也算是自己总结一下。目标 scrollview嵌套listview,可以自由的定义listview的大小,而不是展示全部listview。 让listview在scrollview中自由滑动。 当listvi...

2016-04-07 12:57:14

阅读数:11296

评论数:7

自定义view,viewgroup的onMeasure 方法

自定义view用了好久,用着用着吧感觉也就那么回事儿啊,如果想画个view,那就得知道view的大小。那么首当其中的就是onMeasure()方法啦。 先上一张图,这是我当年自学android的时候看的黑马视频的图。珍藏了快两年啦这张图,第一次看基本看不懂onMeasure有三种 模式 EXAC...

2016-03-16 17:19:37

阅读数:2511

评论数:4

多语言适配,让text自动改变大小

我们公司逼格太好了。目前支持十几种语言,什么 阿拉伯,葡萄牙,希腊,法语巴拉巴拉的 主流语言老板都要适配,那么问题来了,同一个意思 在不同国家的语言长度就不同了。也许你现在没理解,来个图你就知道了 不过我还是得说一下我们之前有多么的苦逼,为了适配好多国家的语言因长度不同导致的bug。几乎一半的文...

2016-03-04 15:11:17

阅读数:4917

评论数:6

android studio 碰到问题

as刚安装很卡,跟不上我的手速,直接配置as的vm大小在as的文件包下,bin文件下。 在这改一下就快很多。具体改多大看你心情吧。把eclipse的代码导入到android studio 各种报错 前提就是先把sdk buildtools都下载到最新或者相对新 先改mainfest里面的 权...

2016-02-16 17:07:09

阅读数:549

评论数:1

android中常见的内存泄漏和解决办法

android中的内存溢出估计大多数人在写代码的时候都出现过,其实突然觉得工作一年和工作三年的区别是什么呢,其实干的工作也许都一样,产品汪看到的结果也都一样,那区别就是速度和质量了。写在前面的一点儿想法:工作做完了其实不会的还有很多,每天都有莫名的危机感,从真正写代码的这一年多总觉得自己的学习速度...

2015-12-29 15:10:33

阅读数:12038

评论数:14

这酸爽!android studio 2.0的模拟器如何快速Instant Run

android stuido 终于出了2.0版本,是大版本的升级,我现在不知道说什么了,之前一直用eclipse开发,后来用genmotation做模拟器,都是三方的,堂堂安卓,居然要一直用三方的工具,岂有此理啊。那么2.0版的到来一扫依赖三方的阴霾。如何快速启动 项目不卖关子,说结果,就是当你更...

2015-11-25 09:59:55

阅读数:3707

评论数:4

android的启动模式 到底在什么时候用呢?

安卓的启动模式 估计都学过 但好长时间内不知道怎么用,感觉都忘了启动模式的存在了,一般都是默认的模式, 然后通过Intent跳转 的时候呢 执行以下finish();感觉挺好用,但是也不能完全符合我们的需求。涉及的内容 四种启动模式是什么,在哪里用 onNewIntent() 是什么 一句话理解...

2015-11-10 22:30:12

阅读数:2666

评论数:9

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