图片压缩(面试值得说)

本文介绍了一种有效的图片压缩方法,通过使用BitmapFactory.Options()对象的inJustDecodeBounds属性设置为true来避免图片完全加载到内存中,从而实现更高效的图片尺寸调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在图片压缩的时候,要注意不要获取到bitmap对象再进行压缩,因为此时已经占用内存,再压缩就没有意义了!BitmapFactory.Options()对象有一个只加载边,不加载实际数据的属性inJustDecodeBounds设置为true,此时再获取图像宽高时图片就可以不用加载了,就可以写算法压缩了

Webpack 是现代 JavaScript 应用打包工具中最流行的选择之一,掌握其核心概念对于前端开发者来非常重要。以下是关于 Webpack 的一些常见面试题目及解答: ### 1. Webpack 是什么? Webpack 是一种模块捆绑器 (module bundler),它会从入口文件开始递归解析出所有依赖项,并将它们组合成一个或多个包(bundle)。除了处理 JS 文件外,还可以通过相应的 loader 加载 CSS、图片等资源文件。 ### 2. 解释一下 entry 和 output 参数的作用 - **entry**: 定义了应用程序的起点位置,默认值为 `./src/index.js`。可以是一个单独的字符串表示单个入口点;也可以是数组形式指定多个入口,或者对象的形式给每个 bundle 分别命名。 - **output**: 决定了输出结果的位置和名称,包括 path(目录路径), filename(文件名模板)属性。其中 `[name]`, `[hash]`, `[chunkhash]` 等占位符可用于生成唯一的文件标识避免缓存问题。 ### 3. 描述 Loader 和 Plugin 的区别以及应用场景 - **Loader** : 用于转换某些类型的模块(如 JSX -> JS)。通常在 module.rules 中配置规则来匹配特定条件触发转化操作。例如 babel-loader 将 ES6+ 转换成 ES5 方便旧版浏览器运行。 - **Plugin** :用来扩展 Webpack 功能,可以在构建过程的不同阶段插入自定义逻辑。常用的插件有压缩混淆代码 uglifyjs-webpack-plugin ,清理 dist 目录 clean-webpack-plugin , html-webpack-plugin 自动生成引用外部静态资源的HTML文件等等。 ### 4. Tree Shaking 技术是什么意思? Tree shaking 是指消除无用代码的过程。借助于 ES6 模块系统的特性 static import/export 结构清晰的特点,在生产环境中仅保留真正使用的部分减少最终打包体积。为了更好地利用 tree-shaking 效果应该保证采用标准 esm 规范编写源码并且关闭 Node_modules 中不必要的 sideEffects 设置。 --- 以上只是众多有关 Webpack 主题下的一部分内容,实际上还有很多细节值得深入探讨。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值