文档章节

计算图片占用的内存大小

姬鑫
 姬鑫
发布于 2015/03/05 15:49
字数 230
阅读 59
收藏 0
点赞 0
评论 0

图像占用内存的公式是:numBytes = width * height * bitsPerPixel / 8

OpenGL ES  纹理的宽和高都要是2次幂数, 以刚才的例子来说, 假如 start.png 本身是 480x320, 但在载入内存後, 它其实会被变成一张 512x512 的纹理, 而start.png 则由 101x131 变成 128x256, 默认情况下面,当你在cocos2d里面加载一张图片的时候,对于每一个像素点使用4个byte来表示--1个byte(8位)代表red,另外3个byte分别代表green、blue和alpha透明通道。这个就简称RGBA8888

图像宽度(width)×图像高度(height)×每一个像素的位数(bytes per pixel) = 内存大小

  此时,如果你有一张512×512的图片,那么当你使用默认的像素格式去加载它的话,那么将耗费

  512×512×4=1MB

1MB = 1024 KB= 1024*1024 B

本文转载自:http://www.cnblogs.com/linn/p/3398888.html

共有 人打赏支持
姬鑫
粉丝 85
博文 54
码字总数 16632
作品 0
宁波
程序员
Java对象的内存布局

Java对象的内存布局:,,;另外:不同的环境结果可能有差异,我所在的环境是HotSpot虚拟机,64位Windows。 对象头 对象头在32位系统上占用8bytes,64位系统上占用16bytes。 sizeOf(new Obj...

陶邦仁 ⋅ 2014/12/29 ⋅ 1

bitmap的六种压缩方式,Android图片压缩

转载请注明出处,谢谢:http://blog.csdn.net/harryweasley/article/details/51955467 Android中图片是以bitmap形式存在的,那么bitmap所占内存,直接影响到了应用所占内存大小,首先要知道b...

guozhendan ⋅ 2017/04/12 ⋅ 0

Cocos2d-JS地图性能问题

如图所示游戏场景,它是我们以往介绍的实例,在场景中有三个方块精灵(BoxA、BoxB和BoxC)和背景精灵,这个背景叫做“地图”有点牵强,地图采用了有规律的纹理。 游戏场景 那么我们如何设计这...

智捷课堂 ⋅ 2015/04/08 ⋅ 0

cocos2d-x与ISO内存管理

一,IOS与图片内存 在IOS上,图片会被自动缩放到2的N次方大小。比如一张10241025的图片,占用的内存与一张10242048的图片是一致的。图片占用内存大小的计算的公式是;长宽4。这样一张512512 ...

no_wait ⋅ 2016/01/14 ⋅ 0

cocos2d-x与ios内存管理分析(在游戏中减少内存压力)

Cocos2d-x与ios内存管理分析(在游戏中减少内存压力) 猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢! 年 原文地址: http://www.cocos2dev.com/?p=281 注:自己...

智捷课堂 ⋅ 2015/08/13 ⋅ 0

Android内存优化之内存缓存

什么是缓存? 缓存技术原理就是把用户访问的所有对象看作一个全集,经过算法标记哪些是用户经常访问的对象,把这些对象放到一个集合里,这个集合是全集一个子集,下一次用户再访问的时候会先...

今晚打猴子 ⋅ 2015/08/21 ⋅ 0

Android 根据ImageView的大小来压缩Bitmap,避免OOM

Bitmap是引起OOM的罪魁祸首之一,当我们从网络上下载图片的时候无法知道网络图片的准确大小,所以为了节约内存,一般会在服务器上缓存一个缩略图,提升下载速度。除此之外,我们还可以在本地...

ForingY ⋅ 2016/10/24 ⋅ 0

一个Java对象到底占用多大内存

最近对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存?   在网上搜到了一篇博客讲的非常好,里面提供的这个类也非常实用...

中成才 ⋅ 2015/12/19 ⋅ 0

Android高效加载图片,有效避免程序内存溢出异常

我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。比如说系统图片库里展示的图片大都是...

gavin_jin ⋅ 2014/03/09 ⋅ 0

Android-高效加载图片经验分享

int maxMemory = (int)(Runtime.getRuntime().maxMemory() / 1024); Log.d("TAG", "Max memory is" + maxMemory + "KB"); 因此在展示高分辨率图片的时候,最好先将图片进行压缩。压缩后的图片...

lanyu1 ⋅ 2015/09/05 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如何使用serverchan微信推送告警

之前实现推送告警信息到微信的方法有如下几种: 1、通过企业公众号实现----收费: 2、通过QQ邮箱,在微信平台上开启收到邮件进行提醒; 3、第三方告警平台API,一般也是收费的; 不过最近看文...

问题终结者 ⋅ 15分钟前 ⋅ 0

TCP的RPC

RPC就是远程方法调用(Remote Process Call ),包含了客户端和服务端,涉及了对象的序列化传输。 1.服务端启动,注册远程调用的类2.客户端发送请求信息包含类、方法、参数的一些信息、序列化传...

Cobbage ⋅ 35分钟前 ⋅ 0

IOS-UI UI初步代码布局添加事件

ISO开发界面,UI是必须学习的一部分,其实很早之前想学来了,一直没有沉下心来学习。看到IOS的代码风格和布局就别扭的不行,跟java代码和android布局比较显得不是那么方便,所以一直到现在。...

京一 ⋅ 46分钟前 ⋅ 0

浅谈OpenDaylight的二次开发

OpenDaylight作为一款开源SDN网络控制器,依托于强大的社区支持以及功能特性,成为了目前主流的SDN网络控制器开发平台。在比较稳定的OpenDaylight Helium版本中,已经为开发者提供了大量的网...

wangxuwei ⋅ 55分钟前 ⋅ 0

API 开发中可选择传递 token 接口遇到的一个坑

在做 API 开发时,不可避免会涉及到登录验证,我使用的是jwt-auth 在登录中会经常遇到一个token过期的问题,在config/jwt.php默认设置中,这个过期时间是一个小时,不过为了安全也可以设置更...

等月人 ⋅ 56分钟前 ⋅ 0

Java NIO之文件处理

程序要操作本地操作系统的一个文件,可以分为以下三个部分: 对文件位置的操作 对文件的操作 对文件内容的操作 其中,对文件内容的操作在 Java NIO之Channel 中已经有了介绍,通过FileChann...

士别三日 ⋅ 今天 ⋅ 0

Maven的pom.xml配置文件详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.......

小海bug ⋅ 今天 ⋅ 0

解决httpclient超时设置不生效的问题

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。 初始设置如下: [java] view plain copy //超时设置 RequestConfig re...

Mr_Tea伯奕 ⋅ 今天 ⋅ 0

过滤器Filter和拦截器HandlerInterceptor

过滤器 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要...

hutaishi ⋅ 今天 ⋅ 0

Redis入门详解(转)

Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis应用场景 Redis总结 Redis简介: Redi...

xiaoyaoyoufang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部