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: 60, Xem: 11052.

Chia sẻ

  1. Duy Luân

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

    Tham gia:
    16/2/08
    Được thích:
    237,177
    Best Answers:
    3
    Duy Luân
    VIP
    #1 Duy Luân, 8/4/15
    Sửa lần cuối: 8/4/15
    [​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ẻ

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

    TâmDJ194 Thành viên

    Tham gia:
    19/3/13
    Được thích:
    73
    Best Answers:
    0
    TâmDJ194
    Đ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:
      20
      Best Answers:
      0
      Pé Bj Kòi
      Pé Bj Kòi @TâmDJ194 bạn chắc éo phải lập trình viên (:)
       
      kaizvn thích nội dung này.
    2. vinhveo0812

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

      Tham gia:
      12/8/07
      Được thích:
      2,277
      Best Answers:
      0
      kaizvn
      CAO CẤP
      kaizvn @TâmDJ194 code chi cho ngta chửi.
       
    4. lehuutien1996

      lehuutien1996 Dự bị

      Tham gia:
      29/3/14
      Được thích:
      0
      Best Answers:
      0
      lehuutien1996
      Trứng
      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

    Tham gia:
    4/11/12
    Được thích:
    1,289
    Best Answers:
    0
    PrisonBreak1908
    TÍCH CỰC
    Độ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
      Best Answers:
      0
      Ta Không Có tên
      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

    Tham gia:
    27/5/12
    Được thích:
    65
    Best Answers:
    0
    trung_it
    ĐẠI BÀNG
    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

    Tham gia:
    14/1/13
    Được thích:
    415
    Best Answers:
    0
    HuluHala
    TÍCH CỰC
    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
    Best Answers:
    0
    e1yg2t
    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:
      631
      Best Answers:
      0
      vidia.vn
      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
      Best Answers:
      0
      RatLaTinhVi
      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

      Tham gia:
      2/5/11
      Được thích:
      4,542
      Best Answers:
      0
      gauto988
      VIP
      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
      Best Answers:
      0
      lehuutien1996
      Trứng
      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
    Best Answers:
    0
    w4s
    w4s
    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

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

    Tham gia:
    13/7/11
    Được thích:
    4,628
    Best Answers:
    0
    Sr_9x
    VIP
    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
    Best Answers:
    0
    w4s
    w4s
    Chỉ app fb bị chứ xem trên browser cả đt hay pc vẫn ok.
    ios, wp có bị k nhỉ
     
  11. thachd

    Tham gia:
    6/9/09
    Được thích:
    83
    Best Answers:
    0
    thachd
    ĐẠI BÀNG
    ios không bị


    Sent from my iPhone using Tinhte.vn
     
  12. wingzero

    Tham gia:
    1/1/10
    Được thích:
    237
    Best Answers:
    0
    wingzero
    ĐẠI BÀNG
    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

    Tham gia:
    13/1/15
    Được thích:
    3,014
    Best Answers:
    0
    #JK
    #JK
    CAO CẤP
    LG Optimus G 2012 so với Galaxy V 2014 thì sao nhỉ?
     
  14. gauto988

    Tham gia:
    2/5/11
    Được thích:
    4,542
    Best Answers:
    0
    gauto988
    VIP
    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

      Tham gia:
      12/8/07
      Được thích:
      2,277
      Best Answers:
      0
      kaizvn
      CAO CẤP
      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

      Tham gia:
      2/5/11
      Được thích:
      4,542
      Best Answers:
      0
      gauto988
      VIP
      #55 gauto988, 10/4/15
      Sửa lần cuối: 10/4/15
      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.
       
      #55 gauto988, 10/4/15
      Sửa lần cuối: 10/4/15
    3. kaizvn

      Tham gia:
      12/8/07
      Được thích:
      2,277
      Best Answers:
      0
      kaizvn
      CAO CẤP
      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

      Tham gia:
      2/5/11
      Được thích:
      4,542
      Best Answers:
      0
      gauto988
      VIP
      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. DAVIDHUY08

    Tham gia:
    17/5/09
    Được thích:
    116
    Best Answers:
    0
    DAVIDHUY08
    ĐẠI BÀNG
    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-

      Tham gia:
      12/2/11
      Được thích:
      158
      Best Answers:
      0
      -KingJX-
      ĐẠI BÀNG
      -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 :)
       
      DAVIDHUY08 thích nội dung này.
    2. hoatongoc

      Tham gia:
      7/6/12
      Được thích:
      846
      Best Answers:
      0
      hoatongoc
      TÍCH CỰC
      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
       
      DAVIDHUY08 thích nội dung này.
    3. DAVIDHUY08

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

      Tham gia:
      7/6/12
      Được thích:
      846
      Best Answers:
      0
      hoatongoc
      TÍCH CỰC
      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
       
  16. vidia.vn

    vidia.vn Thành viên

    Tham gia:
    12/1/15
    Được thích:
    631
    Best Answers:
    0
    vidia.vn
    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).
     
  17. shinkt

    Tham gia:
    21/6/11
    Được thích:
    1,522
    Best Answers:
    0
    shinkt
    TÍCH CỰC
  18. cheetah_fast

    Tham gia:
    29/6/08
    Được thích:
    1,994
    Best Answers:
    0
    cheetah_fast
    CAO CẤP
    Vậy là DEV phải viết code nhiều gấp 3 lần :D
     
  19. RatLaTinhVi

    RatLaTinhVi Thành viên

    Tham gia:
    30/3/15
    Được thích:
    11
    Best Answers:
    0
    RatLaTinhVi

    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...