0

在我的应用程序中,我截取当前屏幕的屏幕截图(使用view.getDrawingCache)并使用意图将其作为位图发送到另一个活动。

我已经在 Galaxy Note 1、HTC one v 和 Motorolla Xoom mz 604 平板电脑(10.1")上进行了测试。在前两个设备上,代码工作正常。但在 Xoom 平板电脑上,代码不起作用:平板电脑开始等待很长一段时间,然后应用程序崩溃。

这背后的原因可能是什么?

4

2 回答 2

1

我客人的问题是因为OutOfMemoryError: bitmap size exceeds VM budget

为了摆脱这个问题,您可以尝试创建一个静态变量,然后在第二个活动中访问,而不是将位图发送到意图中。

或者

您可以将位图保存在内部存储器中,并在第二个活动中发送该位图的路径。

因此,请发布更多信息。

于 2013-02-05T15:09:00.010 回答
1

屏幕截图的位图在平板电脑上可能会变得非常大,因为屏幕分辨率可能更高。问题可能是内存问题。为了克服这个问题,您可以将位图写入临时文件并将文件的路径发送到活动。

或者,如果您要启动的活动在同一个应用程序中,您可以使用全局变量来保存位图。

于 2013-02-05T15:10:09.617 回答