Facebook ra mắt thư viện mã nguồn mở giúp LTV Android nhận biết năng lực xử lý của thiết bị

Thảo luận trong '[Android] Tin tức - Đánh giá' bắt đầu bởi Duy Luân, 8/4/15. Trả lời: 61, Xem: 10643.

Chia sẻ

  1. Duy Luân

    Duy Luân Không có gì!

    Tham gia:
    16/2/08
    Được thích:
    195,849
    [​IMG]

    Facebook vừa công bố một thư viện dành cho việc lập trình ứng dụng Android nhằm giảm bớt sự khó khăn khi phải viết phần mềm cho nhiều loại thiết bị với kích cỡ và năng lực xử lý khác nhau. Thư viện này sử dụng một thuật toán đơn giản để đánh giá RAM, số nhân và xung nhịp CPU của thiết bị rồi gán nó cho một năm tương ứng. Ví dụ, với những thiết bị có màn hình độ phân giải cao, CPU mạnh thì thư viện trả về kết quả là năm 2013, còn khi app chạy trên máy cấu hình thấp thì kết quả sẽ là 2009 hay 2008 chẳng hạn. Dựa vào kết quả đó, nhà phát triển có thể lập trình cho phần mềm của mình hoạt động theo những cách khác nhau. Ví dụ với những máy "2013" thì app sẽ thể hiện đầy đủ hiệu ứng chuyển động, nhưng nếu máy chỉ là "2008" thì tắt chuyển động đi do năng lực xử lý không đáp ứng nổi.

    Facebook giải thích thêm rằng kết quả trả về sẽ tương ứng với năm mà cấu hình của thiết bị đang chạy app được xem là cao cấp. Ví dụ, nếu app đang chạy trên một điện thoại 4 nhân, màn hình Full-HD, RAM 2GB-3GB thì kết quả trả về sẽ là 2013 do đây là cấu hình cao cấp của năm đó. Cũng cần nói thêm rằng bộ thư viện này không thay đổi hoạt động hay giao diện của các app, nó chỉ đưa về một giá trị năm như đã nói ở trên để việc lập trình được dễ dàng hơn. Điều đó giúp tiết kiệm thời gian, công sức cho nhà phát triển bởi họ không cần tự mình viết mã nhận biết cấu hình máy nữa, rất phù hợp để đảm bảo app đạt hiệu năng cao trong một thế giới Android vô cùng đa dạng và phong phú.

    Thư viên nói trên mang tên Device Year Class, có mã nguồn mở và được Facebook cung cấp hoàn toàn miễn phí cho mọi lập trình viên. Bạn có thể xem thêm trên Github nếu quan tâm.

    Một đoạn mã mẫu:
    Code:
    if (year >= 2013) {
    // Chạy toàn bộ các hiệu ứng chuyển động
    } else if (year > 2010) {
    // Chỉ chạy các hiệu ứng đơn giản
    } else {
    // Không chạy hiệu ứng nào vì máy quá chậm
    }
    Ví dụ về những thiết bị được xem là cao cấp ứng với từng năm của thư viện Device Year Class
    Đang tải Device_Class_Year_Android.png…

    Nguồn: Android Central
     

    Chia sẻ

    #1 Duy Luân, 8/4/15
    Sửa lần cuối: 8/4/15
    anticafe, soul_stealeruhraman thích nội dung này.
  2. TâmDJ194

    TâmDJ194 Thành viên

    Tham gia:
    19/3/13
    Được thích:
    72
    Đoạn code thứ 2 mình tưởng nó phải như này chứ ?

    if (year >= 2013) {
    // Chạy toàn bộ các hiệu ứng chuyển động
    } else if (year > 2010&&year<2013) {
    // Chỉ chạy các hiệu ứng đơn giản
    } else {
    // Không chạy hiệu ứng nào vì máy quá chậm
    }
     
    1. Pé Bj Kòi

      Pé Bj Kòi Thành viên

      Tham gia:
      4/7/13
      Được thích:
      19
      Pé Bj Kòi @TâmDJ194 bạn chắc éo phải lập trình viên (:)
       
      1
      kaizvn thích nội dung này.
    2. vinhveo0812

      vinhveo0812 Thành viên

      Tham gia:
      13/11/09
      Được thích:
      142
      vinhveo0812 @Pé Bj Kòi Gì mà nói người ta như thế?
       
    3. kaizvn

      kaizvn Thành viên

      Tham gia:
      12/8/07
      Được thích:
      2,067
      kaizvn @TâmDJ194 code chi cho ngta chửi.
       
    4. lehuutien1996

      lehuutien1996 Dự bị

      Tham gia:
      29/3/14
      Được thích:
      0
      lehuutien1996 @TâmDJ194 nếu không năm không phải >= 2013 thì nó sẽ vào khối lệnh else và tự hiểu là year <2013 rồi bạn :D
       
  3. PrisonBreak1908

    PrisonBreak1908 Thành viên

    Tham gia:
    4/11/12
    Được thích:
    1,264
    Đội quân ss trong ảnh demo cuối quá đông và nguy hiểm =))
     
    dng31121975 thích nội dung này.
    1. Ta Không Có tên

      Ta Không Có tên Thành viên

      Tham gia:
      30/3/15
      Được thích:
      141
      Ta Không Có tên @PrisonBreak1908 đấy mới chỉ là flagship với mấy em tiêu biểu thôi chứ họ hàng nhà sung sao ít thế này :D
       
  4. trung_it

    trung_it Thành viên

    Tham gia:
    27/5/12
    Được thích:
    43
    có phải vì cái này mà fb từ chiều đến giờ đơ như cây cơ không nhỉ?
     
    Lê văn Chung 1977 thích nội dung này.
  5. HuluHala

    HuluHala Thành viên

    Tham gia:
    14/1/13
    Được thích:
    373
    Thế là mình đã tụt hậu 3 năm rồi :( hu hu
     
  6. e1yg2t

    e1yg2t Thành viên

    Tham gia:
    3/12/13
    Được thích:
    164
    f*ck you facebook!!!!
    ăn roi thì nó chăm như con mà wp nó còn éo thèm làm app
    một lần nữa f*ck you
     
    crazyfox, thang_1234dinhmanhht86 thích nội dung này.
    1. vidia.vn

      vidia.vn Thành viên

      Tham gia:
      12/1/15
      Được thích:
      630
      vidia.vn @gauto988 chuẩn luôn, máy yếu thì cứ bản lite mà dùng cho nó lành.
       
    2. RatLaTinhVi

      RatLaTinhVi Thành viên

      Tham gia:
      30/3/15
      Được thích:
      11
      RatLaTinhVi @gauto988 ý bạn là cái Facebook Lite? cái đó mới ra chưa lâu sau khi fb cập nhật giao diện mới cho bên android
      còn giai đoạn 2013-2014 cái app Fb bên android cực kì nhiều lỗi: văng app, không load được, giật lag. Bạn có thể xem lại các comment trên store vào giai đoạn đó
       
    3. gauto988

      gauto988 Thành viên

      Tham gia:
      2/5/11
      Được thích:
      3,659
      gauto988 @RatLaTinhVi Android thượng vàng hạ cám, máy cấu hình thấp nên bị lỗi vậy đâu có gì lạ đâu. Mình dùng máy từ năm 2013 đây, vẫn đang dùng, chưa thấy app facebook bị văng
       
    4. lehuutien1996

      lehuutien1996 Dự bị

      Tham gia:
      29/3/14
      Được thích:
      0
      lehuutien1996 @e1yg2t Theo mình nghĩ là thị trường Windows Phone không mấy thu hút bạn ơi :)
       
  7. w4s

    w4s Thành viên

    Tham gia:
    17/1/11
    Được thích:
    87
    KLQ, chiều giờ fb android đơ lòi, ai bị thế k nhỉ?
    Load newsfeed mãi k đc.
     
    bango123 thích nội dung này.
  8. viettien_milo

    viettien_milo Thành viên

    Tham gia:
    6/7/09
    Được thích:
    4,101
    Mình cũng thế. Ko load được feed.
     
  9. Sr_9x

    Sr_9x Thành viên

    Tham gia:
    13/7/11
    Được thích:
    4,025
    Nhớ là đã có phiên bản Facebook lite rồi mà nhỉ
     
  10. w4s

    w4s Thành viên

    Tham gia:
    17/1/11
    Được thích:
    87
    Chỉ app fb bị chứ xem trên browser cả đt hay pc vẫn ok.
    ios, wp có bị k nhỉ
     
  11. thachd

    thachd Thành viên

    Tham gia:
    6/9/09
    Được thích:
    81
    ios không bị


    Sent from my iPhone using Tinhte.vn
     
  12. wingzero

    wingzero Thành viên

    Tham gia:
    1/1/10
    Được thích:
    173
    Vi phạm DRY rồi bạn. Lện if thứ 2 của bạn bị thừa vế sau. Nếu year >= 2013 nó ko thể xuông nổi lệnh else đầu tiên. Do đó ko cần viết
    btw, cái này là dùng big data để analyze. chỉ có fb mới rảnh để làm mấy vụ này. Và community rất cảm ơn a í vì đã share free cho ae.
     
    TâmDJ194 thích nội dung này.
  13. #JK

    #JK Thành viên

    Tham gia:
    13/1/15
    Được thích:
    1,448
    LG Optimus G 2012 so với Galaxy V 2014 thì sao nhỉ?
     
  14. gauto988

    gauto988 Thành viên

    Tham gia:
    2/5/11
    Được thích:
    3,659
    Cần quái gì dòng else ở cuối nữa nhỉ?

    if (year >= 2013) {
    // Chạy toàn bộ các hiệu ứng chuyển động
    } else if (year > 2010) {
    // Chỉ chạy các hiệu ứng đơn giản
    }

    là xong
     
    1. kaizvn

      kaizvn Thành viên

      Tham gia:
      12/8/07
      Được thích:
      2,067
      kaizvn @gauto988 ko biết gà hay ko gà, nhưng về rule thì đã sai lòi ra rồi :). Nên xem những cái should and shouldn't nhiều hơn.
       
    2. gauto988

      gauto988 Thành viên

      Tham gia:
      2/5/11
      Được thích:
      3,659
      gauto988 @kaizvn Không sai nhé. Về mặt logic sau else - if thì không cần else vì thực chất nó chỉ là các khối if-else lồng nhau, còn tùy từng trường hợp mà vận dụng should and shouldn't. Đã gọi là should thì không bắt buộc nó cũng chỉ là recommendation, should and shouldn't cũng chỉ là best practice của một nhóm dev hoặc tổ chức họ đưa ra khi họ thấy thuận tiện lúc họ làm việc, những nhóm khác, dev khác không thấy như vậy không có nghĩa là họ sai, khi nào compile error khi đấy mới có quyền nói sai.
       
      #56 gauto988, 10/4/15
      Sửa lần cuối: 10/4/15
    3. kaizvn

      kaizvn Thành viên

      Tham gia:
      12/8/07
      Được thích:
      2,067
      kaizvn @gauto988 lol nếu nghĩ best practice chỉ do "1 nhóm dev hoặc tổ chức đặt ra" thì ko nên bàn nữa.
      Vấn đề khổng phải là đúng sai, mà là làm thế nào cho đúng.
       
    4. gauto988

      gauto988 Thành viên

      Tham gia:
      2/5/11
      Được thích:
      3,659
      gauto988 @kaizvn Vâng! không tranh cãi được thì cố gắng nói nữa làm gì? If không cần else ai dám nói sai? cái should or should not của bạn chắc gì đã đúng, đến code example về if-else của java cũng viết không else đấy thôi, else mà ko làm gì cả thì không cần phải viết. Còn bạn cho là mình đúng, xin mời đưa cái rule mà bạn nghĩ "làm thế nào cho đúng" ra đi, trên nguyên tắc, compile ko error tôi có thể phản bác đưoạc cái rule của bạn đấy
       
  15. crazydragon91

    crazydragon91 Thành viên

    Tham gia:
    16/12/10
    Được thích:
    8
  16. DAVIDHUY08

    DAVIDHUY08 Thành viên

    Tham gia:
    17/5/09
    Được thích:
    106
    Thắc mắc là thông số Year nó lấy ở đâu... Sr không xài Android nên bác nào biết chỉ dùm. :D
     
    1. -KingJX-

      -KingJX- Thành viên

      Tham gia:
      12/2/11
      Được thích:
      158
      -KingJX- @DAVIDHUY08
      Bạn chỉ nên check Code này 1 lần ở màn hình Splash Screen sau đó lưu nó vào SharePreferences , sau này chỉ gọi ra dùng thôi chứ không cần chạy check Năm của máy nữa :)
       
      1
      DAVIDHUY08 thích nội dung này.
    2. hoatongoc

      hoatongoc Thành viên

      Tham gia:
      7/6/12
      Được thích:
      805
      hoatongoc @DAVIDHUY08 Nó chả tốn bao nhiêu tài nguyên máy đâu bạn, chỉ là vài phép tính đơn giản thôi
       
      1
      DAVIDHUY08 thích nội dung này.
    3. DAVIDHUY08

      DAVIDHUY08 Thành viên

      Tham gia:
      17/5/09
      Được thích:
      106
      DAVIDHUY08 @hoatongoc Đơn giản thế thì các bác nhà ta nghĩ ra lâu rồi nhỉ.
       
    4. hoatongoc

      hoatongoc Thành viên

      Tham gia:
      7/6/12
      Được thích:
      805
      hoatongoc @DAVIDHUY08 Phép tính đơn giản nhưng thuật toán của nó thì không nhé bạn, đừng có nhầm :D
       
  17. vidia.vn

    vidia.vn Thành viên

    Tham gia:
    12/1/15
    Được thích:
    630
    Nhìn cái hình minh họa thì có vẻ là M8 chứ ko phải M9 (2 e này giống nhau quá, khó mà phân biệt).
     
  18. shinkt

    shinkt Thành viên

    Tham gia:
    21/6/11
    Được thích:
    1,188
  19. cheetah_fast

    cheetah_fast Thành viên

    Tham gia:
    29/6/08
    Được thích:
    1,324
    Vậy là DEV phải viết code nhiều gấp 3 lần :D
     
  20. RatLaTinhVi

    RatLaTinhVi Thành viên

    Tham gia:
    30/3/15
    Được thích:
    11

    nếu bạn nói cấu hình thấp nên bị lỗi thì ko đúng, rất nhiều thiết bị cấu hình ko thấp vẫn bị, ngay trên store hiện tại cũng đang đang đầy issue về load feed. Bạn dùng ko bị đâu có phải người khác ko bị đâu.
    thêm có vài dòng để disable animation đi thôi mà bạn
     

Chia sẻ

Đang tải...