2015-02-20 22 views
5

Tôi đang đồng bộ hóa các sự kiện giữa thiết bị đeo được và điện thoại thông minh. Vì tôi muốn các sự kiện của tôi được nhận bởi điện thoại ngay cả khi chúng bị ngắt kết nối, tôi bắt đầu sử dụng DataAPI thay vì MessageAPI, nhưng bây giờ "đồng bộ hóa" mất khoảng 1-2 giây thay vì 0,1-0,5 giây (thời gian nhận thức).DataAPI chậm hơn nhiều so với MessageAPI?

Tôi đang truyền trong trường hợp thư có đường dẫn chuỗi như "/ notification/click" và hai byte dữ liệu thô. Trong trường hợp của DataAPI tôi sử dụng đường dẫn "/ notification/click/1" và một byte dữ liệu thô. Bạn có thấy hành vi đó không? Bạn có biết một mẹo để vặn chặt điều đó, ngoại trừ chỉ sử dụng DataAPI nếu thiết bị đang ngoại tuyến không?

Nếu bạn muốn xem một số mã, vui lòng để lại nhận xét. Kể từ khi mã có nhiều mã tấm boilder tôi đã không thêm nó (chưa).

+0

Tôi đang tìm thấy nó cực kỳ chậm. Bạn đã làm gì cuối cùng? – StuStirling

+0

Ồ, tôi cần xem lại câu hỏi này. Con dalay khổng lồ đó là một loại lỗi đã biến mất sau một thời gian. Tuy nhiên, tôi sử dụng nhiều thao tác bit để giảm lượng dữ liệu cần chuyển. Điều này có giúp bạn không? – rekire

+0

Cảm ơn bạn đã trả lời. Vấn đề tôi gặp phải là tôi đang tiết kiệm mọi thứ tốt cho api dữ liệu trên đầu di động. Tôi đang kết nối tốt trên kết thúc mặc trong một WearableListenerService nhưng nó chỉ thỉnh thoảng được gọi. – StuStirling

Trả lời

2

Bạn có thể kiểm tra, nếu bạn được kết nối bằng cách tra cứu các nút được kết nối NodeApi.getConnectedNodes() và thấy, nếu nó không trống. Nhưng tôi không nghĩ đây là giải pháp tốt nhất.

Nếu bạn cần cả việc cung cấp thông tin nhanh chóng và đáng tin cậy, hãy gửi cả tin nhắn và đặt mục dữ liệu. Thêm một số nhận dạng duy nhất cho cả hai, vì vậy bạn có thể bỏ qua một số nhận dạng được phân phối thứ hai. Bằng cách này nếu bạn được kết nối, bạn sẽ nhận được một tin nhắn nhanh chóng và sau đó bỏ qua mục dữ liệu. Nếu bạn không kết nối, tin nhắn sẽ bị mất, nhưng mục dữ liệu sẽ vẫn tồn tại và cuối cùng sẽ làm cho bạn hoàn thành hành động. Bạn sẽ cần phải kiên trì các định danh duy nhất mặc dù để xử lý trường hợp sau đây:

  1. nhắn được giao, hành động hoàn chỉnh,
  2. khởi động lại vì lý do gì,
  3. mục dữ liệu cuối cùng được giao, cần phải được bỏ qua.
0

có, trong kết quả thử nghiệm, API dữ liệu chậm hơn api tin nhắn (không phải vài lần, hai lần ở trên) , bạn có thể thử cách tăng tốc độ tin nhắn của mình. api dữ liệu có tính năng có thể gửi nội dung hỗ trợ kích thước dữ liệu lớn hơn 100KB, nhưng thông báo api không thể hỗ trợ kích thước dữ liệu lớn hơn 100KB. sử dụng giao diện gửi thông báo chung, kiểm tra kích thước dữ liệu bạn muốn gửi, nếu lớn hơn 100KB, hãy sử dụng tài sản api dữ liệu để gửi, nếu không, hãy sử dụng thông báo api. đây là của tôi để tăng tốc độ ứng dụng của tôi

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