静态Graphics对象在外部调用的问题!!!

本文通过实际案例对比了两种paint方法的实现方式,指出了一种常见的错误做法,并给出了正确的实现方案。作者发现,在特定场景下(如游戏挂起后重新加载),错误的实现会导致程序在paint方法中崩溃。

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

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

static Graphics _graphics;//提供外部使用;

//错误写法:(1)

public void paint(Graphics g){

   if(_graphics==null)

   _graphics = g;

}

//正确写法: (2)

public void paint(Graphics g){

      _graphics = g;

}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

这是前几天跟一个同事测试出来的,使用(1)写法一般情况下没问题,但在游戏挂起返回后,会死在paint方法里;虽然简单,但容易忽视,所以记录下来,希望对大家有用~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值