如何以编程方式找到我的Android应用程序上使用的内存?
我希望有办法做到这一点.另外,我如何获得手机的免费记忆?
如何确定/计算位图的字节大小(使用BitmapFactory解码后)?我需要知道它占用了多少内存空间,因为我正在我的应用程序中进行内存缓存/管理.(文件大小不够,因为这些是jpg/png文件)
谢谢你的解决方案!
更新:getRowBytes*getHeight可能会成功.我将以这种方式实现它,直到有人提出反对它的东西.
这一定是一个简单的,但我真的很茫然......以下代码绘制了一个矩形,其线性渐变从左到右,从白色到黑色,
int x1 = 0, y1 = 0, x2 = 100, y2 = 40;
Shader shader = new LinearGradient(x1, y1, x2, y2, Color.WHITE, Color.BLACK, TileMode.CLAMP);
Paint paint = new Paint();
paint.setShader(shader);
canvas.drawRect(new RectF(x1, y1, x2, y2), paint);
Run Code Online (Sandbox Code Playgroud)
好的.现在我要做的是将此渐变更改为水平渐变,使颜色从白色变为黑色,从上到下.我试图做的是添加:
Matrix trans = new Matrix();
trans.setRotate(90);
shader.setLocalMatrix(trans);
Run Code Online (Sandbox Code Playgroud)
但相反,渐变是一个有趣的天使,或者只有一种颜色......我也试图以各种方式玩渐变的坐标(认为可能它们应该被转换)无济于事.我错过了什么?