sách gpt4 ai đã đi

Phân bổ đối tượng trong quá trình vẽ/bố trí?

In lại Tác giả: IT Lao Gao Thời gian cập nhật: 2023-10-28 23:32:47 28 4
mua khóa gpt4 Nike

Tôi nhận được 3 cảnh báo phân bổ đối tượng trong quá trình vẽ/bố trí

super.onDraw(canvas);
canvas.drawColor(Màu.TRẮNG);
Văn bản vẽPaint = new Paint();
textPaint.setARGB(50,100,100,250);
textPaint.setTextAlign(Căn chỉnh.GIỮA);
textPaint.setTextSize(50);
textPaint.setTypeface(phông chữ);
canvas.drawText("Logan thật tuyệt vời",canvas.getWidth()/2,200,textPaint);
canvas.drawBitmap(pBall, (canvas.getWidth()/2), changingY, null);
nếu (thay đổiY < canvas.getHeight()){
thay đổiY += 10;
}khác{
thay đổiY=0;
}
Hình chữ nhật middleRect = new Rect();
middleRect.set(0, 400, canvas.getWidth(), 550);
Sơn màu xanh của chúng ta = new Paint();
ourBlue.setColor(Màu.XANH DƯƠNG);
canvas. drawRect(middleRect, ourBlue);

Tôi gặp lỗi khi sử dụng new Rect(); và new Paint();

Sai lầm chính xác là tránh phân bổ đối tượng trong các hoạt động vẽ/bố trí (thay vì định vị trước và sử dụng lại)

1 Câu trả lời

Vâng, "lỗi" của bạn chỉ ra chính xác vấn đề. khi Vẽ() phương thức này được hệ điều hành gọi nhiều lần, do đó, việc gán một cái gì đó vào hàm này là một ý tưởng rất tồi. Bạn cần phải phân bổ trước Hình chữ nhậtSơn và trong trên Vẽ

Sử dụng chúng trong
lớp YourClass mở rộng View
{
Hình chữ nhật giữa
Sơn màu xanh của chúng tôi;
Vẽ văn bảnVẽ;

công khai YourClass()
{
//người xây dựng
khởi tạo();
}

riêng tư void init()
{
middleRect = hình chữ nhật mới();
ourBlue; = Sơn mới();
textPaint = new Paint();

ourBlue.setColor(Màu.XANH DƯƠNG);
textPaint.setARGB(50,100,100,250);
textPaint.setTextAlign(Căn chỉnh.GIỮA);
textPaint.setTextSize(50);
textPaint.setTypeface(phông chữ);
}

@Ghi đè
được bảo vệ void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Màu.TRẮNG);

canvas.drawText("Logan thật tuyệt vời",canvas.getWidth()/2,200,textPaint);
canvas.drawBitmap(pBall, (canvas.getWidth()/2), changingY, null);
nếu (thay đổiY < canvas.getHeight()){
thay đổiY += 10;
}khác{
thay đổiY=0;
}

//nếu kích thước canvas không thay đổi - điều này cũng có thể được chuyển đến init()
middleRect.set(0, 400, canvas.getWidth(), 550);

canvas. drawRect(middleRect, ourBlue);
}
}

Phân bổ đối tượng trong quá trình vẽ/bố trí? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/16472529/

28 4 0
CNTT Lao Gao
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com