
android 在线程里创建对象
publicvoidrun(){intcount=0;while(isRun){Canvasc=null;try{synchronized(holder){c=holde...
public void run() {
int count = 0;
while (isRun) {
Canvas c = null;
try {
synchronized (holder) {
c = holder.lockCanvas();// 锁定画布,一般在锁定后就可以通过其返回的画布对象Canvas,在其上面画图等操作了。
c.drawColor(Color.BLACK);// 设置画布背景颜色
Paint p = new Paint(); // 创建画笔
p.setColor(Color.WHITE);
Rect r = new Rect(100, 50, 300, 250);我看很多教程里都是直接在线程中创建对象,这样不会重复创建消耗资源吗?这种方法跟直接在外面new然后再线程里用有什么区别? 展开
int count = 0;
while (isRun) {
Canvas c = null;
try {
synchronized (holder) {
c = holder.lockCanvas();// 锁定画布,一般在锁定后就可以通过其返回的画布对象Canvas,在其上面画图等操作了。
c.drawColor(Color.BLACK);// 设置画布背景颜色
Paint p = new Paint(); // 创建画笔
p.setColor(Color.WHITE);
Rect r = new Rect(100, 50, 300, 250);我看很多教程里都是直接在线程中创建对象,这样不会重复创建消耗资源吗?这种方法跟直接在外面new然后再线程里用有什么区别? 展开
2个回答
展开全部
线程里面new对象应该是为了便于资源回收吧,因为线程运行完以后,它对应的资源就是可回收的了,而不像你在线程外部的对象,是需要在外部对象,可能是activity或者dialog这种被销毁的时候,才可以去回收吧。
我是这么觉得,具体是不是不太清楚。
有正解了,回一下,关注中
我是这么觉得,具体是不是不太清楚。
有正解了,回一下,关注中
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询