美文网首页优秀的android架构师
Android 图片模糊 性能总结

Android 图片模糊 性能总结

作者: android框架安卓 | 来源:发表于2018-07-13 14:30 被阅读2次

模糊一张图片不难,各种算法也很多:高斯、均值、矩阵等等,但是在移动端需要考虑APP的使用体验,对于性能的要求还是很高的。所以在安卓中纯粹使用Java去实现肯定是最坑爹的做法,我们有另外两种方式可以选择:NDK or Renderscript

Renderscript的优缺点

Renderscript,原则上讲应该是安卓上的最佳选择。它自带了模糊图片的算法,在计算速度上可以说已经非常出色了。但是……

优点

计算速度较快,主要是对CPU的利用比较全面

配置工程方便(相对NDK)

在不需要自定义算法的情况下使用还是很方便的,只需要写一段java代码就可以完成操作

缺点

学习成本高(如果要自定义一些算法的话)

移植代码基本不可能

对安卓版本要求较高,比如模糊图片的算法就必须要API17以上

自带的模糊算法速度虽快但效果不尽如人意!

Renderscript的模糊用的是什么算法我不清楚,但是出来的效果不太理想!具体效果往后面看,都丁达尔效应了!

NDK的优缺点

NDK在讲求性能的应用中肯定是不能少的,不过我自己用的并不多!所以如果有说的不对请见谅!

优点

用C或C++,肯定很多人都会(感觉又回到在学校A题的时候了)。

可应用范围比较广泛, 代码移植方便,有很多现成的库可以拉过来用

在进行高复杂度的计算时甩Java好几条街

缺点

我自己写了半天算法完全追不上Renderscript的速度,所以需要有深厚的功力才能很好的发挥它的作用

Eclipse上配置繁琐,Stusio中稍微简化了点

代码调试查错比较麻烦,可能还是跟我的水平有关吧!

效果对比

我用NDK写了两个算法(一维高斯和均值),然后跟Renderscript自带的模糊做个对比。理论上高斯模糊的效果应是最好的,但是我用了一维高斯叠加的算法所以效果不理想!但是二维高斯又太耗时,递归高斯我又不会!只能这样了 - -

想看代码的点我

原图:

模糊后的图

总结

将原图缩小后模糊,然后再放大显示。这样可以节省很多时间。推荐缩放到100像素左右

需要渐变效果时可以用两个图层叠加改变透明度的方式。这样多占点内存,但是只需要计算一次

我个人感觉最理想的应该还是用NDK来实现,可惜本人C只学了点皮毛,写不好啊啊啊

算法很重要!

参考资料

均值模糊算法:http://blog.ivank.net/fastest-gaussian-blur.html

二维高斯模糊算法:http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html

一维高斯模糊算法:http://www.cnblogs.com/hoodlum1980/p/4528486.html

Android NDK配置:http://blog.csdn.net/tyzlmjj/article/details/50725281

RenderScript 配置和使用:http://blog.csdn.net/tyzlmjj/article/details/50747173

相关文章

  • Android 图片模糊 性能总结

    模糊一张图片不难,各种算法也很多:高斯、均值、矩阵等等,但是在移动端需要考虑APP的使用体验,对于性能的要求还是很...

  • Android 内存泄漏总结

    Android 性能相关知识 Android性能之 内存泄漏总结 Android性能之 卡顿分析解决 Androi...

  • Android 性能优化

    Android APP性能优化(最新总结)Android性能优化全方面解析Android性能优化的方方面面http...

  • 2022-11-05

    Android性能优化点全方面总结,收藏!!!

  • Android 图片模糊 用法

    https://github.com/wl9739/BlurredView

  • Android图片模糊效果

    在进行模糊的时候,可以先对原始图片进行压缩,然后选择一个合适的方式进行模糊。效果如下: 1、处理图片 缩放、旋转图...

  • 目录

    Android性能测试工具Emmagee APP测试方法总结 APP测试点总结 Android APP测试流程 A...

  • 收集_Android源码文章

    一、Bitmap: Android bitmap压缩优化方案Android性能优化系列之Bitmap图片优化 二、...

  • Android 性能优化总结

    将从以下几个方面总结Android的应用性能优化 性能 框架API UI 性能 I/O性能 屏幕滚动性能 内存 A...

  • android 图片 高斯模糊 Blur Android

    最近做的一个项目中要实现 图片模糊作为背景 查找了相关资料 有四种方式实现1 官方的 RenderScript ...

网友评论

    本文标题:Android 图片模糊 性能总结

    本文链接:https://www.haomeiwen.com/subject/lcgjpftx.html