3 安卓小罗

尚未进行身份认证

个人github主页 https://github.com/LuckSiege

等级
TA的排名 13w+

关于Android VideoView导致的内存泄漏的问题

今天在用leakcanary测试项目的时候,无意中在用VideoView播放本地视频时,出现内存泄漏问题,提示是AudioManager类出现的, 后面百思不得其解,因为代码中Context没有被长生命周期的所引用,为什么还会出现泄漏呢?后面通过google才发现原来是setVideoPath()导致的,VideoView内部的AudioManager会对Activity持有一个强引用,而Audi

2017-05-02 17:33:59

android 当设置Activity状态栏为透明时,键盘弹出ScrollView滚动无效解决方案

finalViewdecorView=getWindow().getDecorView();decorView.getViewTreeObserver().addOnGlobalLayoutListener(newViewTreeObserver.OnGlobalLayoutListener(){@OverridepublicvoidonGlobalLayou

2017-04-05 13:03:06

EasyIndicator tab切换指示器

Github地址一款简单的tab指示器,带平移动画效果,代码简单使用方法:   app:indicator_bottom_height=""底部指示器高度   app:indicator_bottom_line_color=""底部线条颜色   app:indicator_bottom_line_height=""底部线条高度 

2017-04-01 23:31:00

android ViewTreeObserver View变化观察者

当在一个Activity或Fragment中有时我们需要获取一个控件或View的宽高来做处理,如果我们直接layout.getHeight()时得到的值是为0,这是为什么呢?因为我们的View是呈树状型绘画的,也就是说此时可能视图并没有绘画完成,所以自然得不到View的宽高,这时我们就需要ViewTreeObserver类来监听是否绘画成功,具体看如下代码:ViewTreeObserve

2017-03-23 09:47:31

android的事件分发机制

我们在面试的时候经常会被问到android事件分发机制,对于这个知识点其实也不算太难,关键在于不好理解,其实总结下来就两句话:android事件分发过程:先由父类控件判断是否拦截(onInterceptTouchEvent()istrueorfalse),拦截的话则执行该View的onTouchEvent()事件,否则则继续分发...android事件处理过程:由子

2017-02-23 20:39:07

android图片引导页

非常简单的一个图片引导页//设置资源文件和选中圆点contentFrameLayout.setUpViews(newint[]{R.layout.page_tab1,R.layout.page_tab2,R.layout.page_tab3,R.layout.page

2017-02-22 17:07:56

关于AndroidManifest.xml 添加多个 provider节点问题

我们知道在android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile(..)来获取uri了,但是在写入数据的时候是可以通过Uri.fromFile(..)来获取uri的,android官网给出的解决办法是通过FileProvider来解决这一问题,我们需要在AndroidManifest.xml配制provider节点provider

2017-02-10 14:23:30

关于android studio引入环信sdk3.0 easeui 出现finished with non-zero exit value 2

最近项目有用到聊天功能,所以有用到环信sdk,之前项目中也引入过环信2.0,但这次引入的是3.0的sdk,在引入easeuilibrary进报finishedwithnon-zeroexitvalue2jar包冲突,这个问题对于大多数人来说是不陌生的,很多人对此束手无测不知道如何去排查,其实在报错最后几行是有提示的,他会告诉你是哪个jar包冲突,Error:Execution

2017-02-07 16:31:24

关于RecyclerView notifyItemChanged() 刷新下标错误问题

今天在项目调用RecyclerViewadapter刷新数据时,用到了notifyItemChanged()方法,此方法是更新指定item数据,结果没想到弄了半天发现总是刷新不对,打印Log日志一看,发现刷新的返回的position为1,当时真是莫名其秒明明传的是对应的position为什么adapter里返回的总是不对,后面经过看notifyItemChanged()方法的源码得知具体如下:

2017-01-22 22:28:41

android标题栏随着RecyclerView滚动背景渐变

最近公司项目中有一个需求是首页RecyclerView滑动时改逐渐改变透明度,因为之前做过scrollview滑动改变标题栏的功能,本以为很简单可没想到在做的过程中遇到了坑,就是RecyclerView.addOnScrollListener方法中的dy值在滑动到一半的过程中又重置为0,导致透明度一直不对,因为我们在滑动过程中如果加载到屏幕外的item,dy值是会被重置为0的,我们只要定义一个变

2017-01-07 09:47:34

android多图选择

最近项目中用到多图选择上传的需求,随后百度了一下用了别人写的demo,发现在很多机型上各种不适,闪退等问题,严复影响使用,后面我自己写了一个,公司20几款手机全部通过,在腾讯云测中也使用了4,50款手机测试,没有发现问题,特分享出来。功能特点: 1.适配android7.0系统2.解决部分机型裁剪闪退问题4.解决图片过大oom闪退问题5.动态获取系统权限,避免闪退6.支持相

2017-01-04 16:10:41

android表情键盘完美解决闪动问题

在开发中,遇到一个问题:做一个微信一样,表情输入和软键盘在切换的时候,聊天界面不闪动的问题。为了解决这个问题,我们先要了解为什么会出现闪动问题,我们在弹出软键盘的时候在RootView的handleMessage的case RESIZED_REPORT:收到具体的大小,配置AppWindow的大小,特别是 bottom的大小,最后调用requestLayout进行重绘,当弹出键盘之后a

2016-12-31 11:54:39

android仿ios弹框,带动画效果

项目空闲期,看到公司ios项目弹框效果觉得挺漂亮的,于是自己试着写了一下,特分享给大家,有什么不足请指出,谢谢哟。代码在githup中,欢迎starthttps://github.com/LuckSiege/CustomView

2016-12-30 23:26:24
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!