2009-07-08 17 views

Trả lời

11

Theo như chương trình của Android, không có chính(). Có một vòng lặp UI mà hệ điều hành chạy để thực hiện cuộc gọi đến các phương thức bạn xác định hoặc ghi đè trong chương trình của bạn. Các phương thức này có thể được gọi từ/được định nghĩa trong onCreate(), onStart(), onResume(), onReStart(), onPause(), onStop() hoặc onDestroy(). Tất cả các phương pháp này có thể được ghi đè lên trong chương trình của bạn.

Vấn đề cơ bản là hệ điều hành được thiết kế để chạy trong môi trường hạn chế tài nguyên. Chương trình của bạn cần phải được chuẩn bị để tạm dừng và thậm chí hoàn toàn dừng lại bất cứ khi nào hệ điều hành cần nhiều bộ nhớ hơn (đây là một hệ điều hành đa nhiệm). Để xử lý chương trình của bạn cần có một số chức năng được liệt kê ở trên.

Vòng đời Hoạt động diễn tả điều này tốt nhất (chương trình của bạn là một hoặc nhiều hoạt động, suy nghĩ của một Hoạt động như một màn hình):

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

Bottom line: Chương trình của bạn 'bắt đầu' ở onCreate() thông qua onResume() nhưng hệ điều hành đang chạy vòng lặp. Chương trình của bạn cung cấp gọi lại cho hệ điều hành để xử lý bất cứ điều gì hệ điều hành gửi đến nó. Nếu bạn đặt một vòng lặp dài tại bất kỳ điểm nào trong chương trình của bạn, nó sẽ xuất hiện để đóng băng bởi vì hệ điều hành (đặc biệt là chuỗi giao diện người dùng) không thể nhận được một lát thời gian. Sử dụng một chuỗi cho các vòng lặp dài.

1

Có thể bằng cách tạo bộ hẹn giờ và thực hiện các chức năng tùy chỉnh ở mọi dấu tích, đặt lại bộ hẹn giờ tại thời điểm cụ thể

+0

Điều này thực sự không thể được coi là chức năng chính theo cách đó. – partlov

Các vấn đề liên quan