2013-01-04 28 views
9

Nếu tôi sử dụng dòng sau trong cách bố trí xml:Set Background như là null

android:background="@null" 
  1. có an toàn không?
  2. Có hiệu quả từ quan điểm hiệu suất không? Hoặc tốt hơn là đặt bacground của bố cục hoặc thành phần khỏi mã thực tế là là không?
+0

Tại sao bạn muốn đặt 'android: background =" @ null "'? Nếu bạn không muốn áp dụng nền thì không cần thêm thuộc tính này, tôi nghĩ vậy. – GrIsHu

+0

Tôi đã xem hướng dẫn Google I/O và tôi nghe nói rằng giao diện người dùng sẽ hiệu quả hơn nhiều nếu bạn xóa nền. –

Trả lời

9
  1. android:background="@null" hoàn toàn an toàn. Nếu bạn muốn thiết lập nền dựa trên logic của bạn trong mã, bạn chắc chắn có thể sử dụng điều này; và nếu bạn không đặt nền trong mã, nó vẫn như cũ và sẽ không bao giờ gây ra bất kỳ vấn đề nào.

  2. Từ quan điểm hiệu suất, bạn nên tải nền qua XML thay vì theo chương trình vì bố cục của bạn sẽ chỉ được tải một lần từ XML. Nếu bạn đặt mã trong mã dựa trên logic của mình, nó có thể được tải nhiều lần. Tuy nhiên, trong cả hai trường hợp, hiệu suất là gần như giống nhau, không phải là một sự khác biệt lớn. Bạn nên quyết định cách tiếp cận nào để sử dụng từ quan điểm logic của bạn (nếu bạn sẽ không bao giờ thay đổi nền, sử dụng cách tiếp cận XML). Vấn đề là, sử dụng hình ảnh có kích thước thích hợp làm nền. Điều đó sẽ tạo ra sự khác biệt thực sự về hiệu suất. Hình ảnh lớn sẽ mất nhiều thời gian hơn để tải trong cả hai cách tiếp cận.

2

Tôi nghĩ, bởi vì bạn không cần phải tìm chế độ xem này ở phía mã, nó sẽ ảnh hưởng đến hiệu suất tích cực. và tôi không nghĩ rằng nó không an toàn.

1

Nếu nền không cần thiết thì không cần phải đề cập đến nó trong xml. Ít nhất nó sẽ là một ít phân tích cú pháp của phần tử XML.