今天在做guolin大神示例 Android PowerImageView实现,可以播放动画的强大ImageView  的时候遇到了就算把源码中的PowerImageView放进去,在我测试的三星S3机型上也不能显示的问题,找来找去都没发现问题所在,最后终于在源码的AndroidManifest.xml中的Application标签下发现了这样一句话:android:hardwareAccelerated="false",于是就有点明白了,应该是Movie.draw()方法会默认使用硬件加速的绘图。

在API >= 14上,默认是开启的,如果你的应用只是标准的View和Drawable,全局都打开硬件加速,是不会有任何问题的。
然而,硬件加速并不支持所有的2D画图的操作,这时开着它,可能会影响到你的自定义控件或者绘画,出现异常等行为。

因此,因为这个PowerImageView是自定义视图,所以需要取消硬件加速,取消硬件加速的方法有很多级别,这里只取消到Activity级别就可以了,于是在AndroidManifest.xml的相应Activity标签中添加如下代码:

android:hardwareAccelerated="false"

或者我们可以在PowerImageView的构造方法中加入:

setLayerType(View.LAYER_TYPE_SOFTWARE, null);

这样就不会遇到gif图片显示不出来的问题了

 如果感兴趣请查看 Android官网相关介绍



更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. 【实习周记】Android(安卓)getevent.c源码分析
  3. 解决 “android New package not yet registered with the syste
  4. Android(安卓)屏幕分辩率相关问题
  5. 自定义View系列教程02--onMeasure源码详尽分析
  6. Android组件化导致的代码不生效
  7. Android使用BitmapFactory.Options解决加载大图片内存溢出问题
  8. TextView跑马灯的几点问题:持续动画 和 与EditText争抢焦点的问题
  9. Android充分利用系统状态栏,达到全屏显示,fitSystemWindow失效问题

随机推荐

  1. Android(安卓)Studio Kotlin开发之ListVi
  2. Android开发环境搭建天下第一例
  3. Android(安卓)核心分析 之五 -----基本空
  4. [置顶] android 下载
  5. unity导出android遇到的build target 错
  6. Android(安卓)异步网络请求框架-Volley
  7. Android(安卓)Compatibility Package
  8. Android开发从入门到精通
  9. android背景选择器selector用法汇总
  10. Android(安卓)性能优化实例