Câu hỏi phỏng vấn Android Developer

69 Các câu hỏi phỏng vấn Android Developer được chia sẻ bởi các ứng viên

Bộ câu hỏi phỏng vấn về thông tin cá nhân

Hãy giới thiệu qua về bản thân bạn?

Đây là dạng câu hỏi phổ biến mà khi đi phỏng vấn xin việc bạn sẽ được hỏi. Bạn hoàn toàn có thể chuẩn bị và luyện tập trước ở nhà. Câu trả lời cần ngắn gọn, khoảng 2-3 phút. Bên cạnh đó, cũng cần phải đầy đủ với các thông tin cần thiết nhất cho nhà tuyển dụng, đặc biệt là kinh nghiệm liên quan đến vị trí PHP. 

Theo bạn, điểm mạnh điểm yếu của mình là gì?

Đây là phần mà các bạn sẽ tự đánh giá về bản thân mình để đưa điểm mạnh, điểm yếu. Dựa vào đó, nhà tuyển dụng sẽ có cái nhìn tổng quan nhất về con người, tính cách và có phù hợp với vị trí họ đang tuyển dụng cũng như văn hóa công ty hay không?  

Bạn biết gì về công ty chúng tôi?

Nhà tuyển dụng rất quan tâm đến việc bạn biết về công ty của họ như thế nào? Hơn hết họ biết được ứng viên có thực sự hiểu rõ về công ty và tìm hiểu trước khi tham gia phỏng vấn hay không. Bởi vậy, bạn nên tìm hiểu kỹ lưỡng về công ty và trình bày một số vấn đề liên quan như lĩnh vực hoạt động, văn hoá, quy mô hoạt động của công ty như thế nào?,..

Bạn có kinh nghiệm làm việc với các dự án lớn không?

Tùy vào quy mô của doanh nghiệp sẽ yêu cầu kinh nghiệm làm việc của bạn với các dự án lớn, điều này sẽ giúp gây ấn tượng trong mắt nhà tuyển dụng. Dù bạn đã là việc với dự án quy mô lớn hay nhỏ cũng đều nên thể hiện kỹ năng quản lý của mình và đưa ra các con số cụ thể. Ví dụ: “Tôi đã đứng đầu dự án A, một hệ thống quản lý dữ liệu cho một doanh nghiệp lớn. Công việc này đòi hỏi tôi phải làm việc với một nhóm đa dạng và đảm bảo rằng dự án hoàn thành đúng tiến độ và đạt chất lượng mong muốn."

Bạn thường xuyên làm việc nhóm hay làm việc độc lập?

Công ty muốn tìm hiểu về tính sẵn sàng làm việc độc lập hay làm việc nhóm của bạn. Bạn có thể chia sẻ mình đã có cả hai trải nghiệm: thường làm việc trong nhóm để chia sẻ kiến thức và ý tưởng, đặc biệt trong các dự án lớn và cũng rất thoải mái làm việc độc lập, đặc biệt khi cần tập trung vào việc giải quyết các vấn đề kỹ thuật phức tạp.

Bạn làm thế nào để theo kịp xu hướng công nghệ mới?

Bạn hãy thoải mái chia sẻ những phương thức mà bạn cảm thấy hứng thú khi tìm hiểu về các công nghệ mới như dành thời gian hàng ngày để đọc sách, tham gia vào cộng đồng trực tuyến và thử nghiệm các công nghệ mới hoặc tham gia các khóa học trực tuyến và sự kiện công nghệ để cập nhật thông tin mới nhất và học từ các chuyên gia trong ngành.

Các câu hỏi phỏng vấn thường gặp

Câu 1: Android là gì?

Android là một hệ điều hành mã nguồn mở dựa trên Linux được sử dụng trong các thiết bị di động như điện thoại thông minh, máy tính bảng, tivi,… Được Google phát hành lần đầu vào năm 2008, sau nhiều lần cập nhật thường xuyên định kỳ hàng năm, Android hiện đang trở thành nền tảng hệ điều hành điện thoại thông minh (smartphone) phổ biến nhất thế giới.

Android có một hạt nhân dựa trên nhân Linux; middleware, thư viện và API được viết bằng C; còn phần mềm ứng dụng chạy trên một nền tảng ứng dụng gồm các thư viện tương thích với Java. Nó sử dụng máy ảo Dalvik với một trình biên dịch động thường được biên dịch sang Java bytecode.

Câu 2: Lập trình Android sử dụng ngôn ngữ gì?

Hiện nay có nhiều cách để tạo ra các ứng dụng Android, có thể là native app, cross-platform app hay hybrid app. Đối với Native App chỉ những ứng dụng được viết bằng công cụ và SDK mà Google cung cấp cho lập trình viên, chúng ta có thể sử dụng ngôn ngữ lập trình Kotlin, Java hoặc C/C++ cho việc viết source code và phát triển phần mềm. Ngoài ra thì trong lập trình Android, để dựng giao diện ứng dụng chúng ta sử dụng ngôn ngữ XML; thao tác với cơ sở dữ liệu bằng hệ quản trị CSDL quan hệ SQLite. 

Android cung cấp công cụ phát triển chính thức dành cho lập trình viên bao gồm:

  • Android SDK (Software Development Kit) bao gồm ADB (Android Debug Bridge), Fastboot và gói ứng dụng Android (APK)
  • NDK (Native Development Kit): bộ công cụ giúp sử dụng code C/C++ trong Android
  • ART (Android Runtime) – một sự thay thế cho Dalvik là môi trường chạy ứng dụng Android
  • Android Studio: IDE môi trường phát triển tích hợp

Câu 3: Nêu vòng đời của một Activity trong Android

Activity là thành phần quan trọng nhất của ứng dụng Android, thông thường sẽ cung cấp một cửa sổ (window / frame) hiển thị các thành phần UI (giao diện người dùng) để tương tác. Mỗi Activity sẽ có một vòng đời cụ thể trong quá trình hoạt động tương ứng với những trạng thái cùng methods mà Android cung cấp:

  • Launched: trạng thái mà Activity được kích hoạt, hệ thống đẩy vào stack. Lúc này lần lượt các callback methods sẽ được gọi: onCreate, onStart và onResume.
  • Running: trạng thái Activity đang chạy, người dùng sẽ nhìn thấy UI của Activity và có thể tương tác với chúng. Trong lúc này, nếu có một Activity nào khác chiếm quyền hiển thị thì Activity của chúng ta sẽ callback method onPause. Lúc này nếu người dùng quay lại Activity thì method onResume sẽ được gọi, nếu Activity không được hiển thị lên nữa thì method onStop sẽ được gọi. Khi Actvity đã onStop, để mở lại Activity thì method onRestart sẽ được gọi.
  • Process Killed: Trong trường hợp Activity đang ở không được Active, hệ thống thiếu bộ nhớ để hoạt động thì Activity sẽ bị thu hồi (xử lý hủy) để giải phóng tài nguyên. Khi Activity được gọi lại thì nó sẽ call lại method onCreate.
  • Shutdown: Khi người dùng chủ động tắt ứng dụng thì Activity cũng kết thúc vòng đời của nó và call method onDestroy.

Câu 4: Fragment là gì? Khi nào sử dụng Fragment

Fragment là một thành phần độc lập trong Android, được sử dụng bởi một Activity, có thể hiểu như một sub-Activity. Fragment có vòng đời và UI riêng. Trong ứng dụng Android, tại một thời điểm thì chỉ có 1 Activity được hiển thị duy nhất lên màn hình; vì thế để đáp ứng cho các giao diện cần chia màn hình ra thành nhiều phần (ví dụ như dạng Tab) để sử dụng, chúng ta sử dụng Fragment cho bài toán này.

Nhiều fragment kết hợp với nhau trong một Activity để xây dựng giao diện đa cửa sổ và có thể tái sử dụng. Lợi ích khi sử dụng Fragment:

  • Có tính module hóa cao hơn
  • Quản lý tốt hơn cho vòng đời của một phần UI riêng biệt
  • Có khả năng tái sử dụng trong các Activity
  • Dễ dàng giải phóng dữ liệu, giảm chi phí bộ nhớ
  • Khả năng xử lý logic linh hoạt hơn nhờ khả năng chia sẻ dữ liệu giữa các Fragment trong cùng một Activity

Câu 5: Nêu các thành phần cơ bản xây dựng UI trong Android

Trong Android, để xây dựng giao diện người dùng (UI) chúng ta sử dụng thành phần cơ bản bao gồm View, ViewGroup và Layout. 

  • View là lớp cơ sở (class) của tất cả các thành phần giao diện được Android cung cấp sẵn như Button, TextView, CheckBox, RadioButton, ImageView,…
  • ViewGroup là một lớp trừu tượng (abstract) kế thừa từ View, nó cũng chính là View nhưng có khả năng chứa các View khác bên trong. 
  • Layout chính là các ViewGroup được xây dựng sẵn với mục đích chứa các View con cùng các điều khiển để sắp xếp vị trí cho các View đó hiển thị lên màn hình. Layout phổ biến sử dụng bao gồm: FrameLayout, ConstraintLayout, LinearLayout, RelativeLayout, GridLayout, TableLayout,…

Câu 6: Canvas là gì?

Canvas được xem như một bề mặt 2D để chúng ta có thể vẽ bất cứ thứ gì lên đó và hiển thị cho người dùng thấy. Chẳng hạn chúng ta có thể vẽ một điểm, một đường thẳng, một hình chữ nhật, đường tròn, elip hay thậm chí cả những hình ảnh phức tạp khác. Có rất nhiều bài toán mà chúng ta sử dụng đến Canvas khi mà nội dung chúng ta muốn hiển thị lên cho người dùng không thể biểu diễn được bằng các View sẵn có. 

Android cung cấp cho chúng ta những method để vẽ các đối tượng trong Canvas như sau:

  • Các đối tượng hình học cơ bản: Point, Line, Oval, React,…
  • Vẽ hình ảnh: Bitmap, Drawable
  • Vẽ tập hợp các điểm: Path
  • Vẽ Text

Câu 7: Làm sao hiển thị các nội dung dạng danh sách trong Android

ListView và RecycleView là 2 ViewGroup phổ biến sử dụng để hiển thị các nội dung dạng danh sách. ListView giúp hiển thị các thành phần (elements) theo dạng một danh sách có thể cuộn được theo chiều thẳng đứng và được sử dụng như một class cơ bản trong Android từ những phiên bản đầu tiên. RecycleView mới được giới thiệu trong Android L (API level 21) với sự mạnh mẽ và bổ sung nhiều chức năng hơn so với ListView.

RecycleView hỗ trợ scroll theo cả chiều ngang (horizontal) và chiều dọc (vertical); ngoài ra RecycleView.LayoutManager cho phép layout các item trong list theo dạng grid hay staggered grid. RecycleView còn nhiều hỗ trợ bổ sung đáng giá như Animation khi thêm hay xóa 1 item trong danh sách; hỗ trợ draw divider tùy ý. Thêm một cải thiện nữa là RecycleView bắt buộc sử dụng ViewHolder khi tạo một Adapter nhằm cải thiện performance của danh sách tốt hơn.

Câu 8: Broadcast Receiver là gì?

Broadcast Receiver là một trong 4 components lớn trong Android với nhiệm vụ lắng nghe các sự kiện, trạng thái của hệ thống phát ra ví dụ như có tin nhắn đến, hành động rút / cắm sạc, hành động bật/ tắt mạng,… từ đó ứng dụng của chúng ta sẽ xử lý các hành động tương ứng bên trong. Broadcast Receiver có thể hoạt động cả khi ứng dụng đang ở background mode và hay được sử dụng với Service.

Để thực thi được Broadcast Receiver, chúng ta cần phải đăng ký Broadcast trong file Android Manifest hoặc trong file Java (source code) của ứng dụng thông qua lớp IntentFilter tương ứng với từng hành động, sự kiện cụ thể xảy ra trên thiết bị. Chúng ta cũng có thể tự định nghĩa các Custom Broadcast Receiver để truyền thông điệp trong và ngoài ứng dụng mà chúng ta mong muốn. Ngoài ra, Android cũng cung cấp component Local Broadcast Receiver cho việc gửi thông điệp gói gọn trong project, không thông qua hệ thống nhằm tránh bị rò rỉ thông tin ra ngoài các ứng dụng khác.

Câu 9: Có những loại Service nào trong Android

Service cũng là một thành phần chính trong ứng dụng Android giúp chúng ta thực hiện các tác vụ cần nhiều thời gian, không có giao diện người dùng (UI) và không bị tắt khi đóng ứng dụng; chẳng hạn như download file từ Internet, chạy nhạc, đồng bộ dữ liệu lên cloud,…

Service được chia thành 3 loại:

  • Foreground Service: là những services mà người dùng chú ý và thấy rõ ràng như play music (người dùng có thể tương tác control nó). Một điều bắt buộc là Foreground Service phải hiển thị một Notification.
  • Background Service: những services mà người dùng không chú ý trực tiếp như thu gom bộ nhớ của hệ thống.
  • Bound Service: là những services được ràng buộc bởi một thành phần trong ứng dụng và khởi động nó bằng lời gọi bindService. Điều đó cũng có nghĩa là khi thành phần ràng buộc này tháo bỏ ràng buộc với service thì Service đó cũng bị destroy.

Câu 10: Hãy giải thích về kiến trúc MVP trong Android

MVP viết tắt bởi Model – View – Presenter là một kiến trúc phần mềm thường được đề xuất, khuyến nghị sử dụng trong các dự án Android. MVP được thiết kế để tạo điều kiện cho việc kiểm thử đơn vị tự động (Automated Unit Testing) và cải tiến Separation of Concerns (tách biệt thành phần) trong việc trình bày logic (presentation logic).

Với Android, MVP tách ứng dụng (cấu trúc source code) thành 3 tầng Model, View, Presenter và trong mỗi tầng đều được chia thành module nhỏ có vai trò riêng biệt. Tầng Presenter là nơi tập trung xử lý logic, cũng là cầu nối giữa Model và View. Đây là nơi theo dõi sự thay đổi của ứng dụng, các biến trạng thái và xử lý logic tương ứng. Presenter có phần giống với Controller trong mô hình MVC, dù vậy thì trong mô hình MVP, Model và View không hề liên kết với nhau mà tất cả phải qua Presenter.

Kinh nghiệm “đậu” phỏng vấn

Để buổi phỏng vấn diễn ra suôn sẻ và nắm chắc phần thành công, bạn cần chú trọng thêm các yếu tố:

Về trang phục

Trước khi đến buổi phỏng vấn, hãy tìm hiểu về văn hóa công ty và quy định về trang phục. Bất kể loại trang phục bạn chọn, hãy đảm bảo nó luôn gọn gàng và sạch sẽ. Quần áo không nứt rách, không bị nhăn, giày dép được làm sạch. Điều này thể hiện tôn trọng và sự chú ý đến chi tiết. Mặc dù quần áo nên trang nhã và chuyên nghiệp, nhưng bạn cũng cần cảm thấy thoải mái khi diện chúng. Mặc quần áo mà bạn cảm thấy tự tin và dễ chịu để bạn có thể tập trung vào buổi phỏng vấn.

Đối với nữ, áo sơ mi và váy hoặc quần âu là một sự lựa chọn tốt, bạn có thể kết hợp với kiểu tóc gọn gàng, trang điểm thanh lịch và phối hợp cùng các phụ kiện phù hợp với trang phục. Nam có thể lựa chọn áo sơ mi cùng quần âu với các màu sắc trung tính và hài hòa, hãy luôn nhớ cạo râu và để đầu tóc gọn gàng khi bước đi phỏng vấn. 

Về tác phong

Nên đến sớm 10 - 15 phút, để tránh trường hợp xảy ra các sự cố trên đường hay sự cố về trang phục. Những nhà tuyển dụng cũng thích những người đến sớm và có chuẩn bị tốt.

Tác phong chuyên nghiệp, giữ bản thân ở trạng thái bình tĩnh, lắng nghe câu hỏi phỏng vấn và lời lưu loát, rõ ràng. Hạn chế nói lắp, trả lời không rõ ràng, thiếu logic, mạch lạc

Tự tin giao tiếp

Tự tin trong việc nói về kinh nghiệm và khả năng của bạn là quan trọng. Hãy trình bày một cách rõ ràng và dễ hiểu. Lắng nghe câu hỏi kỹ lưỡng và trả lời một cách chắc chắn. Đảm bảo bạn hiểu rõ về kiến thức và kỹ năng yêu cầu cho vị trí bạn đang ứng tuyển như ngôn ngữ lập trình, framework, công cụ phát triển và các khái niệm liên quan,... Như vậy bạn sẽ có tự tin và thể hiện cách bạn suy nghĩ logic, phân tích vấn đề và đưa ra giải pháp hợp lý.

 

Câu hỏi phỏng vấn Android Developer & Cách trả lời

Dưới đây là 3 câu hỏi phỏng vấn Android Developer hàng đầu và cách trả lời chúng:

Câu hỏi #1: Android là gì?

Android là một hệ điều hành mã nguồn mở dựa trên Linux được sử dụng trong các thiết bị di động như điện thoại thông minh, máy tính bảng, tivi,… Được Google phát hành lần đầu vào năm 2008, sau nhiều lần cập nhật thường xuyên định kỳ hàng năm, Android hiện đang trở thành nền tảng hệ điều hành điện thoại thông minh (smartphone) phổ biến nhất thế giới.

Android có một hạt nhân dựa trên nhân Linux; middleware, thư viện và API được viết bằng C; còn phần mềm ứng dụng chạy trên một nền tảng ứng dụng gồm các thư viện tương thích với Java. Nó sử dụng máy ảo Dalvik với một trình biên dịch động thường được biên dịch sang Java bytecode.

Câu hỏi #2: Trình bày Application là gì?

Application trong lập trình Android là lớp cơ sở trong ứng dụng chứa tất cả các yếu tố quan trọng hỗ trợ cho các hoạt động và dịch vụ của android. Trước khi quy trình cho ứng dụng của bạn được khởi tạo, lớp hoặc bất kỳ các lớp con nào của nó cũng sẽ được khởi tạo trước.

Câu hỏi #3: Nêu các thành phần cơ bản xây dựng UI trong Android

Trong Android, để xây dựng giao diện người dùng (UI) chúng ta sử dụng thành phần cơ bản bao gồm View, ViewGroup và Layout. 

  • View là lớp cơ sở (class) của tất cả các thành phần giao diện được Android cung cấp sẵn như Button, TextView, CheckBox, RadioButton, ImageView,…
  • ViewGroup là một lớp trừu tượng (abstract) kế thừa từ View, nó cũng chính là View nhưng có khả năng chứa các View khác bên trong. 
  • Layout chính là các ViewGroup được xây dựng sẵn với mục đích chứa các View con cùng các điều khiển để sắp xếp vị trí cho các View đó hiển thị lên màn hình. Layout phổ biến sử dụng bao gồm: FrameLayout, ConstraintLayout, LinearLayout, RelativeLayout, GridLayout, TableLayout,…

Câu hỏi phỏng vấn

Android Developer được hỏi... 24/10/2023

Handlers sử dụng để làm gì?

1 câu trả lời

Handlers được sử dụng phổ biến nhất để truyền thông giữa các luồng khác nhau.

Android Developer được hỏi... 24/10/2023

Đâu là cơ sở dữ liệu tốt nhất cho các ứng dụng Android

1 câu trả lời

Cơ sở dữ liệu nguồn mở tốt nhất cho các ứng dụng Android là SQLite. Đây là một câu hỏi tương đối nâng cao vì một là bạn biết câu trả lời hoặc là bạn không biết gì.

Android Developer được hỏi... 24/10/2023

DDMS là gì?

1 câu trả lời

Đó là viết tắt của  Dalvik Debug Monitor Server (Máy chủ theo dõi gỡ lỗi Dalvik). Đóng vai trò là một máy chủ theo dõi lỗi đi kèm với chính hệ điều hành Android. DDMS có trách nhiệm theo dõi lỗi, cuộc gọi đến, SMS, giả mạo dữ liệu vị trí và – theo cách tự nhiên – gỡ lỗi.

Android Developer được hỏi... 24/10/2023

ANR là gì?

1 câu trả lời

Application Not Responding (Ứng dụng không phản ứng) là một cửa sổ bật lên. Qua đó chuyên viên lập trình Android sẽ nhận được nếu họ đã khởi xướng quá nhiều quá trình cùng một lúc.

Android Developer được hỏi... 24/10/2023

Điểm khác biệt giữa “AsyncTask” và “Thread” là gì?

1 câu trả lời

AsyncTasks được sử dụng để làm việc với các quy trình ngắn tối đa là 5 giây. Ngược lại Thread sẽ được sử dụng để xử lý các quy trình dài hơn.

Android Developer được hỏi... 24/10/2023

Canvas là gì?

1 câu trả lời

Canvas được xem như một bề mặt 2D để chúng ta có thể vẽ bất cứ thứ gì lên đó và hiển thị cho người dùng thấy. Chẳng hạn chúng ta có thể vẽ một điểm, một đường thẳng, một hình chữ nhật, đường tròn, elip hay thậm chí cả những hình ảnh phức tạp khác. Có rất nhiều bài toán mà chúng ta sử dụng đến Canvas khi mà nội dung chúng ta muốn hiển thị lên cho người dùng không thể biểu diễn được bằng các View sẵn có. 

Android cung cấp cho chúng ta những method để vẽ các đối tượng trong Canvas như sau:

  • Các đối tượng hình học cơ bản: Point, Line, Oval, React,…
  • Vẽ hình ảnh: Bitmap, Drawable
  • Vẽ tập hợp các điểm: Path
  • Vẽ Text
Android Developer được hỏi... 24/10/2023

Broadcast Receiver là gì?

1 câu trả lời

Broadcast Receiver là một trong 4 components lớn trong Android với nhiệm vụ lắng nghe các sự kiện, trạng thái của hệ thống phát ra ví dụ như có tin nhắn đến, hành động rút / cắm sạc, hành động bật/ tắt mạng,… từ đó ứng dụng của chúng ta sẽ xử lý các hành động tương ứng bên trong. Broadcast Receiver có thể hoạt động cả khi ứng dụng đang ở background mode và hay được sử dụng với Service.

Để thực thi được Broadcast Receiver, chúng ta cần phải đăng ký Broadcast trong file Android Manifest hoặc trong file Java (source code) của ứng dụng thông qua lớp IntentFilter tương ứng với từng hành động, sự kiện cụ thể xảy ra trên thiết bị. Chúng ta cũng có thể tự định nghĩa các Custom Broadcast Receiver để truyền thông điệp trong và ngoài ứng dụng mà chúng ta mong muốn. Ngoài ra, Android cũng cung cấp component Local Broadcast Receiver cho việc gửi thông điệp gói gọn trong project, không thông qua hệ thống nhằm tránh bị rò rỉ thông tin ra ngoài các ứng dụng khác.

Android Developer được hỏi... 24/10/2023

Garbage collector là gì?

1 câu trả lời

Các đối tượng đa số được phân bổ trên vùng heap do JVM quản lý. Khi đó đối tượng tham chiếu đang được sử dụng và JVM sẽ cho rằng nó còn sống. Và khi một đối tượng không còn được tham chiếu và không thể truy cập được bằng code trong ứng dụng thì trình thu gom rác sẽ loại bỏ nó ngay và lấy lại bộ nhớ chưa được sử dụng. 

Android Developer được hỏi... 24/10/2023

BuildType trong Gradle là gì? Mục đích của nó?

1 câu trả lời

Build định nghĩa thuộc tính mà Gradle sử dụng khi xây dựng và đóng gói một ứng dụng Android. 

  • Build type xác định cách một module được xây dựng trong Gradle
  • Product flavor xác định được những gì sẽ được tạo ra
  • Gradle tạo ra một build variant cho mọi tổ hợp có thể có được từ product flavor và build type trong dự án
Android Developer được hỏi... 24/10/2023

Phân biệt Service, Intent Service, AsyncTask và Thread

1 câu trả lời

  • Service là thành phần được sử dụng để thực hiện các tác vụ ở background. Nó không có giao diện người dùng và nó có thể chạy được ở trong background vô thời hạn ngay cả khi ứng dụng bị hủy. 
  • Async Task cho phép bạn thực hiện các công việc bất đồng ở background thread và publish kết quả trên UI thread mà không yêu cầu bạn phải xử lý
  • IntentService là một dạng Service để xử lý lần lượt các yêu cầu bất đồng bộ ở background thread. Client sẽ gửi yêu cầu thông qua việc gọi tới startService, không yêu cầu bạn phải động tới việc xử lý thread/ handler
  • Thread là một luồng thực thi tuần tự trong một trương trình. 
Android Developer được hỏi... 24/10/2023

Job Scheduling trong Android là gì?

1 câu trả lời

Job Scheduling API cho phép chúng ta lên lịch công việc trong khi hệ thống sẽ thực hiện công việc tối ưu hóa dựa trên bộ nhớ, nguồn và trạng thái kết nối của Android. Nó hỗ trợ lập lịch biểu các công việc, hệ thống Android có thể kết hợp các công việc này để giảm lượng tiêu thụ pin.

Android Developer được hỏi... 24/10/2023

Làm giảm dung lượng file apk trong Android như thế nào?

1 câu trả lời

Đầu tiên chúng ta bật Proguard trong project của bạn. Tiếp theo bật shrinkResources. Rồi loại bỏ tất cả các tài nguyên cục bộ không được sử dụng, bằng biện pháp thêm tài nguyên cần thiết trong resConfigs. Và cuối cùng chuyển đổi tất cả các hình ảnh sang dạng webp hoặc vector drawable.

Android Developer được hỏi... 24/10/2023

Context là gì?

1 câu trả lời

Một Context là một đối tượng để phục vụ các xử lý liên quan tới hệ thống hay cung cấp thông tin của môi trường hệ thống. Nó cung cấp các dịch vụ như để giải quyết resources, lấy quyền truy cập vào cơ sở dữ liệu và preferences, ... Context có thể được coi là thành phần xử lý về môi trường mà ứng dụng của bạn đang hoạt động trong đó.Application Context: là một context gắn liền với vòng đời của một ứng dụng. Application context có thể được sử dụng khi bạn cần một context có vòng đời riêng biệt với context hiện tại hoặc khi bạn truyền một context ra ngoài phạm vi hoạt động của một activity.Activity Context: context này là có sẵn ở trong một activity, nó gắn liền với vòng đời của activity này. Bạn nên sử dụng loại context này khi phạm vi hoạt động bạn cần chỉ ở trong activity này hay bạn cần một context có vòng đời gắn liền với context hiện tại.

Android Developer được hỏi... 24/10/2023

Tại sao chỉ nên gọi set Content View() trong on Create() ở trong một activity?

1 câu trả lời

Vì on Create() chỉ được gọi tới một lần nên đây là thời điểm chúng ta nên khởi tạo hầu hết các yếu tố cần thiết. Nó sẽ không hiệu quả nếu ta gọi set Content View() ở trong on Resume() hay on Start() (bởi chúng được gọi tới nhiều lần) vì set Content View() là một hoạt động tiêu tốn khá nhiều tài nguyên.

Android Developer được hỏi... 24/10/2023

Bitmap pooling trong Android?

1 câu trả lời

Bitmap pooling là một kỹ thuật đơn giản nhằm mục đích sử dụng lại bitmap thay vì tạo các đối tượng bitmap mới mỗi lần cần. Khi bạn cần một bitmap, bạn sẽ kiểm tra một bitmap stack để xem có bất kỳ bitmap nào có sẵn hay không. Nếu không có bitmap có sẵn, bạn tạo một bitmap mới, ngược lại bạn pop một bitmap từ stack và sử dụng lại nó. Sau đó, khi bạn hoàn thành công việc với bitmap này, bạn có thể đặt nó lại lên một stack.

Android Developer được hỏi... 24/10/2023

Sự khác biệt giữa commit() và apply() trong Shared Preferences là gì?

1 câu trả lời

Commit () ghi dữ liệu một cách đồng bộ và trả về giá trị boolean thành công hay thất bại tùy thuộc vào kết quả ngay lập tức.Apply() hoạt động một cách bất đồng bộ và nó sẽ không trả về bất kỳ giá trị boolean nào. Ngoài ra nếu có apply() chưa được hoàn thành và bạn thực hiện một commit() khác. commit() đó sẽ bị chặn cho đến khi apply() được hoàn thành.Về hiệu năng apply nhanh hơn commit vì nó xử lý việc lưu trữ dữ liệu một cách bất đồng bộ.

Android Developer được hỏi... 24/10/2023

Mô tả ngắn gọn một số cách để tối ưu hóa View usage.

1 câu trả lời

  • Kiểm tra những quá trình draw tiêu tốn nhiều tài nguyên (excessive overdraw): cài đặt ứng dụng của bạn trên thiết bị Android và sau đó bật tùy chọn Debug GPU Overview.
  • Làm phẳng view hierarchy: kiểm tra hệ thống phân cấp view của bạn bằng công cụ Hierarchy Viewer của Android Studio (nên sử dụng Constraint Layout nhiều nhất có thể để đảm bảo layout của bạn luôn chỉ có một tầng duy nhất).
  • Ước lượng thời gian mỗi View cần để hoàn thành quá trình measure, layout và các giai đoạn draw. Bạn cũng có thể sử dụng Hierarchy Viewer để xác định bất kỳ phần nào của rendering pipeline mà bạn cần tối ưu hóa.
Android Developer được hỏi... 24/10/2023

Adapter là gì?

1 câu trả lời

Một Adapter chịu trách nhiệm chuyển đổi từng data entry vào View, sau đó có thể được thêm vào Adapter View (List View / Recycler View) để hiển thị.

Android Developer được hỏi... 24/10/2023

Khi nào thì bạn nên sử dụng Frame Layout?

1 câu trả lời

Frame Layout được thiết kế để chứa một item duy nhất, làm cho chúng trở thành lựa chọn hiệu quả khi bạn cần hiển thị một View duy nhất.Nếu bạn thêm nhiều View vào Frame Layout thì chúng sẽ xếp chồng lên nhau (cái sau đè lên cái trước), vì vậy Frame Layout cũng hữu ích trong trường hợp nếu bạn cần các View xếp chồng chéo.

Android Developer được hỏi... 24/10/2023

View Group là gì? Nó khác View như thế nào?

1 câu trả lời

View: các đối tượng View là các khối giao diện cơ bản User Interface (UI) trong Android. View là một hộp hình chữ nhật đơn giản, nó có thể phản hồi hành động của người dùng lên nó. Ví dụ: Edit Text, Button, Check Box, ... View tham chiếu đến lớp android.view.View, là lớp cơ sở của tất cả các lớp UI.

View Group: View Group là một container vô hình. Nó có thể chứa các View và View Group. Ví dụ, Linear Layout là một View Group có thể chứa Button (View) và các Layouts khác. View Group là lớp cơ sở cho Layout.

Đang xem 21 - 40 trong 69 câu hỏi phỏng vấn