我在构建项目期间收到此消息
java.lang.OutOfMemoryError:Java堆空间
我如何增加堆空间,我有8Gb或RAM是不可能的,maven消耗了那么多,我发现这个http://vikashazrati.wordpress.com/2007/07/26/quicktip-how-to-increase-the -java-heap-memory-for-maven-2-on-linux /如何在linux上执行它,但我在Windows 7.如何在Windows下更改java堆空间?
我正在制作一个带滚动背景的动态壁纸.我有两个位图对象,我之间交替,以保持下一帧的先前绘制的像素.我在画布顶部绘制一个新行,然后调用drawBitmap将其余像素复制到画布上.
我正在使用Runnable对象来完成繁重的工作.它执行所需的所有复制和计算,然后锁定画布,在持有者上输入同步块,并对Canvas.drawBitmap(位图,rect,rect,paint)进行单次调用.屏幕上偶尔会出现白色闪烁,这似乎与高CPU活动有关.在使用traceview时,我发现drawBitmap操作,特别是Canvas.native_drawBitmap(),比正常时间长得多.通常它在2-4毫秒内完成,但是当我看到白色闪光时,它可能需要10到100毫秒.
private void draw() {
SurfaceHolder holder = getSurfaceHolder();
Canvas canvas = null;
prepareFrame();
try {
canvas = holder.lockCanvas();
synchronized (holder) {
if (canvas != null) {
drawFrame(canvas);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (canvas != null)
holder.unlockCanvasAndPost(canvas);
}
afterDrawFrame();
handler.removeCallbacks(drawRunner);
if (visible) {
handler.post(drawRunner);
}
}
Run Code Online (Sandbox Code Playgroud)
该draw()函数run()在Runnable中调用.
private void prepareFrame() {
num++;
if (num%2 == 0) {
mainBmp = mainBmp1;
mainCan.setBitmap(mainBmp1);
mainCan.drawBitmap(mainBmp2, source, destination, null);
} else { …Run Code Online (Sandbox Code Playgroud) 我有一种情况,我抓住命令行参数和使用boost::lexical_cast<unsigned long>(my_param).我希望my_param的负值会导致lexical_cast的抛出,而是它高兴地将它们转换,以-1成为18446744073709551615.这似乎很荒谬,作为一个unsigned long的最大值为2 ^ 32-1,它看起来更像一个unsigned long长.
所以我要寻找一个既聪明的方式投下字符*输入为unsigned long,还是有办法来验证我没有接受其伪装的负值作为一个大的无符号很长很长.