ยินดีต้อนรับเข้าสู่ jokergameth.com
jokergame
jokergame shop webboard Article Social


Colocation, VPS


joker123


เว็บไซต์เราจะอยู่ไม่ได้หากขาดเขาเหล่านี้ รวมช่วยกันสนับสนุนสปอนเซอร์ของพวกเรา

colocation,โคโลเคชั่น,ฝากเซิร์ฟเวอร์ game pc โหลดเกม pc slotxo Gameserver-Thai.com Bitcoin โหลดเกมส์ pc
ให้เช่า Colocation
รวมเซิฟเวอร์ Ragnarok
Bitcoin

กำลังแสดงผล 1 ถึง 6 จากทั้งหมด 6
  1. #1
    !! Monkey Man !!
    วันที่สมัคร
    Sep 2011
    ที่อยู่
    แถวนี้ละ
    กระทู้
    697
    กล่าวขอบคุณ
    80
    ได้รับคำขอบคุณ: 17,328

    ทำความรู้จัก ART ผู้มาแทน Dalvik บน Android "L"



    ก่อนอ่าน ถ้าเกิดว่าคุณไม่รู้เลยว่า ART Runtime คืออะไร แนะนำให้ย้อนกลับไปอ่าน ART runtime อาวุธลับใน Android 4.4 ซึ่งเขียนอธิบายเบื้องต้นแบบเข้าใจง่ายๆเอาไว้ให้ เพราะ Blog นี้จะมีความซับซ้อนจนถึงกับอ่านไม่รู้เรื่องสำหรับคนที่ไม่มีพื้นฐานเลย ซึ่งถ้าคิดว่าพร้อมแล้วเลื่อนลงไปอ่านต่อกันเลย (บทความนี้ขอนาย @nuuneoi มาแปะให้อ่านกันนะครับ เขียนมาครบและเข้าใจง่ายดีแล้ว ไปอ่านลิงก์ต้นทางได้ที่ http://nuuneoi.com/blog/blog.php?read_id=690)
    ART vs Dalvik / AOT vs JIT
    Dalvik เป็น Runtime ที่ถูกใช้และพัฒนามาอย่างต่อเนื่องนับตั้งแต่ Android รุ่นแรก (ซึ่งกระตุกมาก)
    จนกระทั่ง Android 2.2 ทีมแอนดรอยด์ก็พัฒนา JIT (Just in time compiler) ขึ้นมาบน Dalvik เพื่อทำให้ประสิทธิภาพโดยรวมดีขึ้นอย่างมีนัยสำคัญ หลักการทำงานของมันคือพอเรารันแอพฯขึ้นมา มันจะแปลง Bytecode ของแอพฯ "เฉพาะในส่วนที่ใช้งาน" และเก็บไว้ในไฟล์ DEX (Dalvik Executable) และ ODEX (Optimized Dalvik Executable)
    เจ้า JIT ก็เลยจะทำงานแบบ "คอมไพล์ไป ทำงานไป" ข้อดีคือใช้พื้นที่เก็บ Cache น้อย แต่ข้อเสียคือใช้พลังงาน CPU เยอะ หรือก็คือแบตหมดเร็วขึ้น เพราะต้องทำงานสองขั้น
    จึงเกิดเป็น Runtime ตัวใหม่นามว่า ART (Android Runtime) ที่แอนดรอยด์ซุ่มพัฒนาอยู่หลายปี ถูกนำมาเป็นตัวทดลองบน Android 4.4 ให้คนสลับไปลองเล่นได้ และถูกนำมาเสียบแทบ Dalvik โดยสมบูรณ์บน Android "L"
    Dalvik ใช้เทคนิคที่ชื่อว่า JIT ส่วน ART ใช้เทคนิคที่ชื่อว่า AOT (Ahead of Time) หลักการทำงานคือ "คอมไพล์ทั้งแอพฯเป็น Binary ให้ตั้งแต่ตอนติดตั้งแอพฯ"
    พูดง่ายๆคือหลังจากติดตั้งแล้วโปรแกรมจะสามารถทำงานได้อย่างสมบูรณ์โดยไม่ต้องผ่านการคอมไพล์อะไรอีกเลย
    ข้อดีที่เกิดขึ้นทันทีคือ (1) โปรแกรมจะโหลดเร็วขึ้นมาก กดปุ๊บมาปั๊บ (2) ใช้ CPU น้อยลงมาก นั่นแปลว่าใช้แบตลดลง (3) โปรแกรมทำงานเร็วขึ้น ลื่นขึ้น เพราะไม่ต้องคอมไพล์ระหว่างทำงาน



    แต่ข้อเสียก็คือ การติดตั้งแอพฯอาจจะต้องใช้เวลานานขึ้นเพราะต้องคอมไพล์ทั้งแอพฯตอนติดตั้ง (ถึงในเอกสารจะบอกว่า install-time verification
    น้อยกว่า Dalvik ก็ตาม แต่ต้องดูระยะเวลาโดยรวมกันอีกที) จากที่มีคนทดลองให้ดู ก็นานขึ้นถึง 50% เลยทีเดียวนะ อีกข้อเสียนึงที่ยังไม่รู้ว่าจะเป็นยังไงคือพื้นที่ที่ใช้งานจะใช้มากขึ้นหรือเปล่า?
    จากข้อมูลที่ได้มาจากปีที่แล้ว พบว่า ART จะใช้พื้นที่ในการติดตั้งแอพฯมากขึ้นถึง 10-20% เพราะต้องคอมไพล์ทั้งแอพฯเก็บไว้เป็น Binary
    แต่ไม่แน่ใจว่า ART ตอนนี้พัฒนาไปถึงไหนแล้ว อาจจะมีเทคนิคอะไรที่ใช้พื้นที่น้อยลงก็เป็นได้ ต้องดูกันต่อไปครับ


    Cross Platform Architecture

    อย่างที่อธิบายไว้ด้านบน การทำงานของ AOT คือการคอมไพล์ตอนติดตั้ง มันจึงกลายเป็น Cross Platform Architecture ไปโดยปริยาย เพราะไม่ว่าจะบน CPU Architecture ตัวไหน ART
    ก็จะคอมไพล์เป็น Binary เพื่อ Architecture นั้นๆได้หมด

    อย่างไรก็ตาม ไม่รวมถึง JNI ที่ต้องคอมไพล์แยกแพลตฟอร์มเหมือนเดิม เพราะ Input ของ ART AOT Compiler คือไฟล์ dex

    Garbage Collector ดีขึ้นอย่างมีนัยสำคัญ

    เมื่อ 5 ปีที่แล้วเราเคยพูดไว้ว่า "GC เป็นปัญหาที่ใหญ่ที่สุดของ Android"
    จวบจนถึงวันนี้ มันก็ยังเป็นปัญหาที่ใหญ่สุดอยู่ดี ถึงแม้มือถือจะแรงแค่ไหน การกระตุกก็ยังมีให้เห็นอยู่เรื่อยๆ เพราะเจ้า GC นี่เอง
    เมื่อเราใช้งานไปเรื่อยๆ จะมี Memory ส่วนหนึ่งถูกเก็บไปโดย Garbage Collector ตามสไตล์ของ Java แต่ด้วยประสิทธิภาพอันต่ำต้อยของ GC บน Dalvik
    ทำให้มันเกิด Pause Time บ่อยมาก ที่เรา Scroll แล้วเห็นมันกระตุกๆ ส่วนใหญ่ก็เกิดจาก GC Pause Time นี่แหละ โดยใน Dalvik จะมี Pause Time สองครั้งต่อหนึ่ง GC

    และภาพนี้ทำให้เราตาลุกวาวได้เมื่อคืนนี้



    ART ตอบโจทย์ที่เป็นปัญหามานานของ Android เป็นที่เรียบร้อยแล้ว ด้วยการปรับปรุง GC อย่างมีนัยสำคัญ ลด Pause Time เหลือเพียง 1 ครั้งและกินเวลาน้อยลงมากอีกด้วย
    ผลที่จะเห็นคือจากนี้แอพฯจะ "ลื่น" ขึ้นโดยที่นักพัฒนาไม่ต้องไปแก้อะไร เพราะปัญหาทั้งหมดก่อนหน้านี้มันเกิดจากตัวแอนดรอยด์เอง แต่ตอนนี้ไม่ใช่ปัญหาละ =)
    แต่ปัญหาก็ยังดำรงต่อไปสำหรับคนที่ยังไม่ได้อัพ L และจะมีกี่ % กันน้าที่ได้อัพเจ้า L เร็วๆนี้ ...

    Unified Stack

    แอพฯแอนดรอยด์จะมีอยู่สองส่วนคือ Native และ Java บน Dalvik ทั้งสองตัวใช้ Stack คนละตัวกัน แต่บน ART ทั้ง Java และ Native จะใช้ Stack ตัวเดียวกัน
    ไม่แน่ชัดเรื่องประโยชน์แบบที่เห็นได้ด้วยตาเปล่า แต่เชื่อว่าน่าจะช่วยให้การจัดการ Memory ดีขึ้น

    Stricter JNI

    หากใครใช้ JNI ในการพัฒนาแอพฯด้วยแล้วหละก็ อาจจะปวดหัวกับ ART ได้พอสมควร เพราะมีการเปลี่ยนแปลงอะไรมากมาย บางทีก็ถูก throw error
    ออกมาทั้งๆที่บน Dalvik ไม่เป็น อันนี้ให้ลองไปศึกษาและ Handle ทุกเคสให้ครับด้วยครับ อ่านรายละเอียดเพิ่มเติมเกี่ยวกับตัวนี้ได้ที่ Verifying Apps ART


    ไม่ใช่ทุกแอพฯจะรันได้สมบูรณ์บน ART

    ART เป็นตัวทดลองบน Android 4.4 และยังมีรายงานบั๊กออกมาเรื่อยๆ แต่สุดท้ายก็ถูกนำมาใช้จริงเสียแล้วใน Android 5.0
    ดังนั้นอย่า Expect ว่าแอพฯทุกตัวต้องรันได้ ถึง Keynote เมื่อวานจะพูดว่าใช้โค้ดเดิมก็ตาม ซึ่งเค้าก็พูดถูกนะ แต่สุดท้ายโลกมันไม่ได้สวยขนาดนั้น
    หากคุณเป็น Developer จงเทสต์แอพฯบน ART ให้เรียบร้อยตั้งแต่เนิ่นๆด้วยครับ สำคัญมาก

    ลื่นไหล แบตหมดช้า เนื้อที่หมดเร็ว ข้อสรุปของ ART

    หากให้สรุปเป็นข้อๆว่า ART ส่งผลอย่างไรต่อผู้ใช้บ้าง ก็คงได้สามข้อใหญ่ๆคือ
    (1) ลื่นขึ้นจาก Pre-compiled Binary
    (2) แบตหมดช้าลง จากการที่ไม่ต้องคอมไพล์ไปทำงานไปอย่างที่ JIT ทำใน Dalvik
    (3) เนื้อที่หมดเร็วขึ้น จากการที่ ART กินพื้นที่มากขึ้น
    และส่งผลต่อนักพัฒนาอย่างไรบ้าง?
    ถ้าแอพฯไม่ได้ทำอะไรซับซ้อนซ่อนเงื่อนเพื่อนทรยศ ก็น่าจะสามารถใช้งานได้เลย ไม่มีปัญหา แต่ถ้าทำอะไรซับซ้อน
    ย้ำอีกทีว่าให้ทดสอบให้ดีก่อนนะครับ ไม่งั้นมีปัญหาแน่ๆ


    จะได้อัพเมื่อไหร่

    ก็ยังเป็นคำถามที่ตลกๆของ Android ที่พอประกาศเปิดตัวเวอร์ชั่นใหม่แล้ว ผ่านไปปีนึงก็ไม่มีใครได้ใช้สักที
    นี่เป็นสาเหตุที่เราไม่ได้ตื่นเต้นอะไรมากนักกับการเปิดตัวเมื่อวานเพราะ Android ถึงจะพัฒนาไว แต่ก็อัพเดตช้าเหลือเกิน

    สำหรับ Android L ก็คงต้องดูกันต่อไปว่าจะได้อัพกันเมื่อไหร่ ส่วนนักพัฒนา วันนี้เค้าจะปล่อยตัว SDK ให้ลองกันแล้ว
    รอโหลดกันได้ครับที่ Android Developer =)

    สวัสดีครับ

    Credit


    i7 5930k - Asuse Rampage V - RAM 32 GB - GTX 980 2way SLi - Corsair SSD 256 GB - WD Black 4 TB - Corsair AX860i - Corsair Air 540 Silver

  2. รายชื่อสมาชิกจำนวน 25 คนที่กล่าวขอบคุณ:


  3. #2
    ชอบโพสต์เป็นชีวิตจิตใจ
    วันที่สมัคร
    Aug 2012
    กระทู้
    481
    กล่าวขอบคุณ
    37
    ได้รับคำขอบคุณ: 497

  4. รายชื่อสมาชิกจำนวน 7 คนที่กล่าวขอบคุณ:


  5. #3
    Staring at me
    วันที่สมัคร
    Jul 2011
    กระทู้
    489
    กล่าวขอบคุณ
    87
    ได้รับคำขอบคุณ: 241
    เลื่อนลงมาดูเม้นนี้ อื้อหื้ออ

  6. #4
    " Waiting for The End "
    วันที่สมัคร
    Aug 2011
    ที่อยู่
    " In Heart who love us "
    กระทู้
    2,560
    กล่าวขอบคุณ
    1,285
    ได้รับคำขอบคุณ: 5,983
    nex 5 เปิด ART เร็วกว่า เห็นได้ชัดเลย

  7. #5
    ส่องอย่างเดียว ^^
    วันที่สมัคร
    Jul 2011
    ที่อยู่
    กทม ฝั่งธน
    กระทู้
    2,362
    กล่าวขอบคุณ
    130
    ได้รับคำขอบคุณ: 1,132
    เคยใช้กะ S2 เหมือนกันเปิดเครื่องไวมาก แต่ตอนนั้นApp ยังไม่ค่อยซัพพอท เท่าไหร่เลยมีเอ๋อๆบ้าง

  8. #6
    ชอบโพสต์เป็นชีวิตจิตใจ
    วันที่สมัคร
    Jul 2011
    กระทู้
    1,307
    กล่าวขอบคุณ
    1,572
    ได้รับคำขอบคุณ: 80
    ขอบคุณครับ
    ไปเรื่อย ๆ ตามประสาชีวิตคนติดดิน


 

กฎการส่งข้อความ

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Back to top