Bài đăng

Đang hiển thị bài đăng từ Tháng 3, 2018

[Android-02] LayoutParams trong Android

Hình ảnh
Layout Params trong ứng dụng Android Trong các ứng dụng của Android, LayoutParams hầu hết có mặt trong các màn hình. Mỗi ViewGroup, ví dụ như LinearLayout, RelativeLayout, FrameLayout đều phải chứa thông tin của thuộc tính các thành phần con bên trong nó. Những thông tin về các thuộc tính thành phần con bên trong các ViewGroup, được lưu trữ bằng Object của wrapper class ViewGroup.LayoutParams. Để phân biệt các kiểu lyaout khác nhau, thì ViewGroup có những subclass riêng biệt để phân biệt, như là LinearLayout.Params, hoặc CoordinatorLayout,... Hầu hết các ViewGroups sử dụng lại khả năng thiết đặt các margins cho các thành phần con bên trong nó, vì thế chúng không có subclass ViewGroup.LayoutParams chính xác để phân biệt từng thành phần con, nhưng subclass ViewGroup.MarginLayoutParams có thể làm được (bản thân nó là một subclass của ViewGroup.LayoutParams). Sau đây là ví dụ: LayoutParams object được tạo thành dựa trên file xml layout. Tất cả những tha

[Android 01] Sự khác nhau giữa Weak Reference, Soft Reference và Strong Reference

Trong lần phỏng vấn vị trí mới Middle Mobile Developer, một tiền bối chung trường đại học là người phỏng vấn, có một câu hỏi liên quan tới Garbage Collector.  "Sự khác nhau giữa WeakRef, SoftRef, StrongRef trong Android như thế nào?". Câu trả lời có hàng ngàn recommend trên Google.  Vậy đáp án tổng quan và gần nhất là như thế nào?  Nếu bạn mần mò trên Stack Overflow, bạn hẳn sẽ tìm ra tên của Ethan Nicolas, tác giả của "Understanding Weak References", và lướt xuống mục giải thích cụ thể:  Weak references A  weak reference , simply put, is a reference that isn't strong enough to force an object to remain in memory. Weak references allow you to leverage the garbage collector's ability to determine reachability for you, so you don't have to do it yourself. You create a weak reference like this: WeakReference weakWidget = new WeakReference ( widget ); and then elsewhere in the code you can use  weakWidget.get()  to get the ac