เราเคยได้เอาเรื่องความเปลี่ยนแปลงบน Android 4.4 Kit Kat มาสรุปให้ได้อ่านกันแล้ว แต่ว่ามีอีกเรื่องนึงที่เราไม่ได้พูดไป รวมถึงทาง Google เองก็ไม่ได้บอกอะไรมากมายเกี่ยวกับตัวนี้ นั่นก็คือ ART runtime ที่ถ้าจะเปรียบเทียบ ก็เปรียบเสมือนกับการยกเครื่องเปลี่ยนจากเครื่องดีเซลดึกดำบรรพ์ เป็นเครื่องดีเซลรุ่นใหม่ล่าสุด ที่จะทำให้เรียกกำลังของเครื่องได้มากขึ้น ในขณะที่กินน้ำมันน้อยลงอะไรประมาณนั้นเลย แต่ว่าขณะนี้ยังอยู่ในช่วงการทดสอบอยู่เท่านั้น ยังมีความไม่เสถียร และอาจเจอปัญหาระหว่างใช้งานได้ครับ
ถ้าใครมี Android 4.4 แล้วก็สามารถลองเปิดเล่นดูได้ที่ Settings > developer options > ART แต่เมื่อกดแล้วต้อง restart เครื่องรวมถึงรอการแปลงแอพให้รองรับ ART นิดนึงนะ (5-10นาที ขึ้นกับจำนวนแอพ)
สำหรับตอนนี้ Android ใช้ Dalvik runtime อยู่ซึ่งเป็นเทคโนโลยีเก่าที่ใช้กันมาเนิ่นนานแล้ว และเป็นสาเหตุของปัญหาหลายๆอย่าง รวมถึงความต้องการด้าน Hardware ที่สูงด้วย โดย ART จะเป็นตัว runtime ที่ทำขึ้นมาโดย Google เองเพื่อใช้สำหรับ Android โดยเฉพาะเลย (ART = Android RunTime)
สำหรับคนที่งงว่า Runtime มันคืออีหยังหว่า ก็ช่วยกันอัญเชิญเทพที่สถิตย์อยู่ ณ Droidsans มาช่วยเขียน อธิบายให้เพื่อนๆได้อ่านอีกสักหน่อย เพราะตัวกระผมเองกว่าจะเขียนได้จริงๆคงต้องใช้เวลาอีกไม่น้อยเลยครับ
แต่สำหรับผู้ใช้ทั่วไปแล้ว สิ่งที่เราๆจะคาดหวังกันได้เมื่อ ART สมบูรณ์ขึ้นมาล่ะก็ เตรียมพบกับความแรงของ Android ในอีกระดับ สามารถเปิดแอพ บูทเครื่องได้เร็วขึ้น รวมถึงการกินแบตที่น้อยลงอย่างเห็นได้ชัด รวมถึงสเปคที่แม้จะต่ำเตี้ย แต่ก็ใช้งานได้ดีไม่กินทรัพยากรอีกด้วยจ้า
แต่ข่าวร้ายคือ ยังไม่มีใครบอกได้ว่า ART จะพร้อมและเสร็จได้เมื่อไหร่เหมือนกัน อาจจะเร็วมาก ได้เห็นในอัพเดทหน้า หรือว่าต้องรอจนกว่า Android 5.0 ที่ยังไม่รู้ว่า Google จะปล่อยมาเมื่อไหร่นั่นแล ^__^
แต่ภาษาเครื่องนั้นเป็นภาษาที่มนุษย์ทำความเข้าใจยาก ดังนั้นเพื่อความสะดวกจึงมีการคิดค้นภาษาระดับสูง (High-level programming language) ที่มีความใกล้เคียงกับภาษามนุษย์มากขึ้น โดยภาษาระดับสูงเหล่านั้นจะนำ source code (ชุดคำสั่งที่เขียนด้วยภาษาระดับสูง) ไปแปลงเป็นภาษาเครื่องอีกที ซึ่งวิธีการแปลงมี 3 วิธีใหญ่ๆ คือ
- คอมไพเลอร์ (Compiler) ตัวแปลง source code ให้เป็นภาษาเครื่องแบบพร้อมใช้ โดยเราจะได้ผลลัพธ์ของออกมาเป็น execute file (exe file) ซึ่งข้อดีของมันอยู่ที่คอมพิวเตอร์ต้องเสียเวลาแปลง source code ให้เป็นภาษาเครื่อง สามารถเรียก exe file ทำงานได้เลย แต่การแปลเป็นภาษาเครื่องตรงๆ แบบนี้ก็มีข้อเสียเพราะ exe file ไม่สามารถนำไปใช้ข้ามแพลตฟอร์มได้ เนื่องจากภาษาเครื่องในแต่ละแพลตฟอร์มนั้นไม่เหมือนกัน เช่น exe file ที่ถูกสร้างบน Windows ไม่สามารถนำไปใช้บน Linux ได้
- อินเทอร์พรีเตอร์ (Interpreter) เป็นตัวแปลง source code ให้เป็นภาษาเครื่องเมื่อจะเรียกใช้โดย Runtime จะไม่มีการแปลงเก็บไว้เป็น exe file เหมือน compiler แต่จะแปลงก็ต่อเมื่อเรียกใช้เท่านั้น ทำให้ต้องแปลงใหม่ทุกครั้งที่เรียกใช้ ความเร็วในการทำงานของวิธีนี้ช้ากว่าแบบบนมาก แต่ข้อดีคือจะไม่มีปัญหาในการนำ source code ไปใช้ต่างแพลตฟอร์ม
- ไฮบริด (Hybrid) เป็นการเอาทั้งสองวิธีมาผสมผสานกัน อย่างในภาษา Java (ภาษาระดับสูงที่ใช้ใน android) ขั้นแรกจะเอา source code มาแปลงเป็นภาษาที่ใกล้เคียงภาษาเครื่องมากที่สุด (byte code) ซึ่ง byte code ก็เปรียบเหมือน exe file แต่ byte code ที่ว่านี้สามารถนำไปใช้ต่างแพลตฟอร์มได้ โดย byte code ที่ว่าก็จะถูก runtime เอาไปแปลอีกรอบให้เป็นภาษาเครื่อง ซึ่ง runtime บน android นั้นก็คือ Dalvik นั่นเอง
สาเหตที่ android ไม่เอา JVM (Java Visual Machine) ซึ่งเป็น rumtime ของภาษา Java บนเครื่องคอมพิวเตอร์มาใช้ในมือถือ นั่นเป็นเพราะว่า JVM ไม่เหมาะกับ CPU บนมือถือที่ไม่ได้มีทรัพยากรเหลือเฟือเหมือนคอมพิวเตอร์ ทำให้ Dalvik จึงถูกเลือก (รายละเอียดเพิ่มเติม)
ART ใช้การทำงานแบบ Ahead-Of-Time (AOT) คือ ตอนที่ติดตั้งมันจะแปลงโค้ดจากภาษาระดับสูงไปภาษาเครื่องครั้งเดียว จากนั้นจะใช้โค้ดส่วนที่แปลงแล้วรัน ทำให้เร็วขึ้นเนื่องจากมีการแปลงตอนที่ลงครั้งแรกครั้งเดียวเท่านั้น
ข้อดีของ ART
– ความเร็วเพิ่มขึ้นมาก บางเว็บถึงขนาดบอกว่าถ้า ART เสร็จสมบูรณ์ร้อยเปอร์เซ็นต์อาจจะทำให้ Android เร็วและลื่นไหลพอๆกับ iOS เลยทีเดียว
ข้อเสีย
-ขนาดแอปหลังจากติดตั้งใหญ่ขึ้นและใช้เวลาติดตั้งนานขึ้นด้วย
จอง….
จองที่รออ่านนะครับคุณชาร์ป 🙂
สำรองที่นั่ง 1 ที่ครับ
^
^
^ จบเลย คอมเม้นต่อแบบนี้คุณปลื้มกมลก็ edit ไม่ได้หนะสิครับ
เออ…กรรมลืมซะสนิท :bigsmile:
จริงด้วย แบบนี้ต้องแจ้งลบซะล่ะ
รอคอย เมื่อไหร่จะเสร็จสมบูรณ์นะ
อย่างน้อยก็ถือเป็นข่าวดีสำหรับสาวกแอนดรอยด์ มาช้ายังดีกว่าไม่มาล่ะนะ
เยี่ยมเลย นึกว่าจะไม่กล้าที่จะเปลี่ยนการใช้งาน runtime แบบเดิมซะละ
แต่เท่าที่อ่านก็พูดถึงการแปลงให้ apps มาใช้ runtime ตัวใหม่ได้
แบบนี้ apps เก่าๆก็ใช้งานได้ apps dev ก็ไม่ถึงขั้นต้องยกเครื่อง code กันใหม่ อาจจะแค่เปลี่ยนรูปแบบให้เหมาะกับ runtime ตัวนี้มากขึ้นก็พอซินะ
5.0 ก็จะรอ 🙂
รอ รอ แล้วก็รอ
nexus4 รออยู่ครับ
น่าสนใจ ก็รอต่อไป รอรอรอ…..
ในฐานะ dev การเปลี่ยน ตัว runtime นี้ คงเต็มไปด้วยคำถาม
แล้วการพัฒนาละ แบบเดิม ใช้ได้2runtime หรือต้อง ใช้ framework ใหม่หมด งง
อันนี้ ต้องไปตามคำตอบมากๆๆ
Dalvik ใช้การทำงานแบบ Just In Time (JIT) คือ เวลาจะใช้แอป มันถึงจะแปลงโค้ดจากภาษาระดับสูงไปภาษาเครื่องซึ่งจะทำทุกครั้งที่รัน ทำให้ทำงานได้ช้าเพราะต้องมานั้งแปลงทุกครั้ง
ART ใช้การทำงานแบบ Ahead-Of-Time (AOT) คือ ตอนที่ติดตั้งมันจะแปลงโค้ดจากภาษาระดับสูงไปภาษาเครื่องครั้งเดียว จากนั้นจะใช้โค้ดส่วนที่แปลงแล้วรัน ทำให้เร็วขึ้นเนื่องจากมีการแปลงตอนที่ลงครั้งแรกครั้งเดียวเท่านั้น
ข้อดีของ ART
– ความเร็วเพิ่มขึ้นมาก บางเว็บถึงขนาดบอกว่าถ้า ART เสร็จสมบูรณ์ร้อยเปอร์เซ็นต์อาจจะทำให้ Android เร็วและลื่นไหลพอๆกับ iOS เลยทีเดียว
ข้อเสีย
-ขนาดแอปหลังจากติดตั้งใหญ่ขึ้นและใช้เวลาติดตั้งนานขึ้นด้วย
คำว่า ใหญ่ขึ้นนี่ จะมีส่วนเพิ่มขึ้นหลังการแปลงโค้ตมากกว่าประมาณเท่าไหร่ครับ คือสงสัยว่า ถ้าแปลงเลย ณ เวลาติดตั้ง จะต้องใช้พื้นที่เหมือนอย่าง computer ไหม อย่างใน IOS เค้าใช้อะไรในการแปลงโค้ตครับ หรืออ่านด้วยตัวมันเองเลย อันนี้ถามแบบผู้ไม่รู้แล้วกันนะครับ เห็นเริ่มคุยกัน ก็เริ่มหาความรู้เพิ่มเลย
เห็นใน androidpolice เค้าบอกว่าจะทำให้โค้ดมีขนาดใหญ่ขึ้น 10-20% นะครับ
ส่วนใน iOS นั้น app ของเค้าจะ compile ออกมาเป็น native code ของ CPU เลยครับ ไม่ต้องแปลงอีก
ผมจะรอ ผมจะรอ
หากเวลายังเหลือเพียงพอ
ผมจะรอ
หากคุณเป็นดอกไม้สดใส
ซ่อนตัวเองในสวนกว้างใหญ่
ผมจะเด็ดทีละใบจนกว่าจะเจอคุณ
หากคุณจะมองผมเป็นทางเลือกสุดท้าย
ผมจะรอ
จะมีใครควรค่าพอการรอไปกว่าคุณ
หากเวลาจะพาหัวใจผมแหลกสลาย
จะเปลี่ยนร่างกายผมหาย กลายเป็นแค่ฝุ่น
แต่หากใครคนนั้นคือคุณ
ผมจะรอ
http://www.youtube.com/watch?v=_F85n8sPUkU
อย่างที่เราทราบๆ กัน คอมพิวเตอร์หนึ่งเครื่องจะประกอบไปด้วยหลายๆ ส่วน โดยส่วนประกอบสำคัญที่จะขาดไม่ได้นั่นก็คือหน่วยประมวลผล (CPU) เพราะ CPU เปรียบเหมือนสมอง ค่อยสั่งให้ส่วนอื่นๆ ทำงาน ดังนั้นถ้าหากว่าเราต้องการจะสั่งคอมพิวเตอร์ เราจะต้องสั่งผ่าน CPUการที่เราจะให้ CPU ทำงาน เราจะส่งคำสั่งโดยใช้ภาษามนุษย์ไม่ได้ เราต้องใช้ภาษาที่ CPU นั้นเข้าใจ นั่นก็คือภาษาเครื่อง (machine language หรือ machine code)แต่ภาษาเครื่องนั้นเป็นภาษาที่มนุษย์ทำความเข้าใจยาก ดังนั้นเพื่อความสะดวกจึงมีการคิดค้นภาษาระดับสูง (High-level programming language) ที่มีความใกล้เคียงกับภาษามนุษย์มากขึ้น โดยภาษาระดับสูงเหล่านั้นจะนำ source code (ชุดคำสั่งที่เขียนด้วยภาษาระดับสูง) ไปแปลงเป็นภาษาเครื่องอีกที ซึ่งวิธีการแปลงมี 3 วิธีใหญ่ๆ คือคอมไพเลอร์ (Compiler) ตัวแปลง source code ให้เป็นภาษาเครื่องแบบพร้อมใช้ โดยเราจะได้ผลลัพธ์ของออกมาเป็น execute file (exe file) ซึ่งข้อดีของมันอยู่ที่คอมพิวเตอร์ต้องเสียเวลาแปลง source code ให้เป็นภาษาเครื่อง สามารถเรียก exe file ทำงานได้เลย แต่การแปลเป็นภาษาเครื่องตรงๆ แบบนี้ก็มีข้อเสียเพราะ exe file ไม่สามารถนำไปใช้ข้ามแพลตฟอร์มได้ เนื่องจากภาษาเครื่องในแต่ละแพลตฟอร์มนั้นไม่เหมือนกัน เช่น exe file ที่ถูกสร้างบน Windows ไม่สามารถนำไปใช้บน Linux ได้อินเทอร์พรีเตอร์ (Interpreter) เป็นตัวแปลง source code ให้เป็นภาษาเครื่องเมื่อจะเรียกใช้โดย Runtime จะไม่มีการแปลงเก็บไว้เป็น exe file เหมือน compiler แต่จะแปลงก็ต่อเมื่อเรียกใช้เท่านั้น ทำให้ต้องแปลงใหม่ทุกครั้งที่เรียกใช้ ความเร็วในการทำงานของวิธีนี้ช้ากว่าแบบบนมาก แต่ข้อดีคือจะไม่มีปัญหาในการนำ source code ไปใช้ต่างแพลตฟอร์มไฮบริด (Hybrid) เป็นการเอาทั้งสองวิธีมาผสมผสานกัน อย่างในภาษา Java (ภาษาระดับสูงที่ใช้ใน android) ขั้นแรกจะเอา source code มาแปลงเป็นภาษาที่ใกล้เคียงภาษาเครื่องมากที่สุด (byte code) ซึ่ง byte code ก็เปรียบเหมือน exe file แต่ byte code ที่ว่านี้สามารถนำไปใช้ต่างแพลตฟอร์มได้ โดย byte code ที่ว่าก็จะถูก runtime เอาไปแปลอีกรอบให้เป็นภาษาเครื่อง ซึ่ง runtime บน android นั้นก็คือ Dalvik นั่นเอง สาเหตที่ android ไม่เอา JVM (Java Visual Machine) ซึ่งเป็น rumtime ของภาษา Java บนเครื่องคอมพิวเตอร์มาใช้ในมือถือ นั่นเป็นเพราะว่า JVM ไม่เหมาะกับ CPU บนมือถือที่ไม่ได้มีทรัพยากรเหลือเฟือเหมือนคอมพิวเตอร์ ทำให้ Dalvik จึงถูกเลือก (รายละเอียดเพิ่มเติม)การพัฒนา java runtime บน android ไม่ได้เกิดขึ้นเป็นครั้งแรก เพราะในเวอร์ชัน 2.2 ก็มีการปรับปรุงครั้งใหญ่ แต่ครั้งนั้นเป็นการปรับปรุง Dalvik ให้ดีขึ้น ส่วนครั้งนี้เหมือนจะเป็นการเปลี่ยน java runtime ตัวใหม่เป็น android runtime ซึ่งน่าจะเป็น java runtime ที่ google ออกแบบมาสำหรับ android โดยเฉพาะแต่ในความเป็นจริงแล้ว android ไม่จำเป็นต้องใช้วิธีแปลงภาษาแบบ hybrid เลย เพราะวิธีแบบ hybrid นั้นมีขึ้นมาเพื่อแก้ปัญหาการ compile ที่ไม่สามารถนำ exe file ไปใช้ข้ามแพลตฟอร์มได้ แต่ android ไม่มีความจำเป็นต้องทำแบบนั้นART ที่จะมาถึงน่าจะเป็นการเปลี่ยนวิธีการแปลงภาษาเครื่องใหม่คือแปลง Bytecode ให้เป็นเหมือน exe file เลย ทำไม่มี over head ในการแปลงเป็นภาษาเครื่อง ทำให้แอพรันเร็วขึ้น
"แต่ในความเป็นจริงแล้ว android ไม่จำเป็นต้องใช้วิธีแปลงภาษาแบบ hybrid เลย เพราะวิธีแบบ hybrid นั้นมีขึ้นมาเพื่อแก้ปัญหาการ compile ที่ไม่สามารถนำ exe file ไปใช้ข้ามแพลตฟอร์มได้ แต่ android ไม่มีความจำเป็นต้องทำแบบนั้น
ART ที่จะมาถึงน่าจะเป็นการเปลี่ยนวิธีการแปลงภาษาเครื่องใหม่คือแปลง Bytecode ให้เป็นเหมือน exe file เลย ทำไม่มี over head ในการแปลงเป็นภาษาเครื่อง ทำให้แอพรันเร็วขึ้น"
ตรงนี้เห็นด้วยเลยครับ 🙂
ขออธิบายแตกต่างไปสักนิดครับ
ในส่วนของ Dalvik และ bytecode นั้น จริงๆแล้ว Dalvik เป็นโปรแกรมที่ทำหน้าที่สร้างสิ่งที่เรียกว่า Virtual Execution Environment หรือพูดง่ายๆก็คือเป็นโปรแกรมที่สร้างสภาพแวดล้อมของ CPU จำลองที่ชื่อว่า Dalvik ขึ้นมา โดย CPU ตัวนี้ มีชุดคำสั่งของตัวเองที่เรียกว่า Dalvik bytecode ดังนั้นโปรแกรมปกติบน android หลังจากผ่านกระบวนการ compile เสร็จก็จะได้ executable ที่เป็นชุดคำสั่ง Dalvik bytecode นั่นเอง (อันนี้ไม่นับรวมการพัฒนาโปรแกรม android ด้วย NDK: Native Development Kit นะครับ ซึ่ง app ที่พัฒนาด้วย NDK จะ compile ออกมาเป็นภาษาเครื่องของ CPU ในโทรศัพท์มือถือโดยตรง)
แต่เนื่องจากว่า CPU ที่มีอยู่ในโทรศัพท์ android ทั่วไป ไม่ใช่ CPU ที่สามารถรัน Dalvik bytecode ได้โดยตรง ดังนั้นมันจึงต้องถูกรันผ่านโปรแกรม Dalvik Runtime ซึ่งจะทำหน้าที่อ่าน Dalvik bytecode แล้วทำงานไปตามชุดคำสั่งนั้น ลักษณะการทำงานแบบนี้ (อ่านไปทำไป) เรียกว่าการทำงานแบบ interpreter ซึ่ง android เวอร์ชันแรกๆ จะทำงานในลักษณะนี้ ทำให้ทำงานได้ค่อนข้างช้า
ต่อมาเมื่อเทคโนโลยีของ virtual machine พัฒนาไปมากขึ้น ได้มีการเพิ่มความสามารถที่เรียกว่า JIT (Just In Time compilation) ให้กับ Davik Runtime โดยแทนที่จะทำงานแบบอ่านไปทำไป ก็จะเปลี่ยนเป็นอ่าน bytecode มาแล้วแปลงให้เป็นภาษาเครื่องของ CPU เก็บไว้ในหน่วยความจำแล้วให้ CPU รันชุดคำสั่งที่แปลงไว้แล้วโดยตรง ทำให้สามารถทำงานได้เร็วขึ้น แต่ก็ต้องเสียเวลาในการทำ JIT ก่อนจะเริ่มทำงานได้ ทำให้เวลาในการเปิดโปรแกรมอาจทำได้ช้าลงได้ แต่เนื่องจาก JIT ไม่ได้ compile โค้ดใหม่ทั้งโปรแกรม แต่จะ compile เฉพาะโค้ดส่วนที่มีการใช้งานเท่านั้น ดังนั้นเวลาที่เสียไปในส่วนนี้โดยปกติแล้วก็จะไม่มากนัก
สิ่งที่แตกต่างของเทคโนโลยี JIT กับ ART นั้นคือ ART จะแปลงโปรแกรมทั้งโปรแกรมเป็นภาษาเครื่องของ CPU บนโทรศัพท์มือถือในตอน install ดังนั้นเมื่อมีการเรียกใช้ จึงไม่ต้องเสียเวลาในการแปลงอีกในตอนที่สั่งรันโปรแกรมเหมือนกับ JIT ครับ
ในส่วนของ Java JVM นั้น ผมคิดว่าสาเหตุที่ android ไม่ได้ใช้ JVM ของ Java จริงๆ แล้วเป็นปัญหาเรื่องลิขสิทธิ์มากกว่าครับ เนื่องจาก Oracle (Sun Microsystems) ไม่อนุญาตให้พัฒนา JVM ที่รัน Java bytecode บนแพลตฟอร์มที่ไม่ได้รับอนุญาต ทำให้ android ต้องหาทางออกเป็นการสร้าง Virtual Machine ใหม่ขึ้นมาซึ่งก็คือ Dalvik นั่นเอง (ยังคงมีปัญหาฟ้องร้องกันอยู่ระหว่าง Oracle กับ Google)
อย่างไรก็ตาม ผู้พัฒนาระบบ android ต้องการใช้ประโยชน์จาก development tools, library และให้ developer ไม่ต้องเสียเวลาในการศึกษาภาษาใหม่ในการพัฒนา app ดังนั้น SDK: Software Development Kit ของ android จึงได้เลือกวิธีใช้ภาษา Java ในการพัฒนา app และใช้ compiler ของ Java ปกติในการ compile โปรแกรมจากภาษา Java ไปเป็น Java bytecode แล้วจึงค่อยแปลง Java bytecode ไปเป็น Dalvik bytecode อีกที วิธีนี้ทำให้สามารถใช้งาน tools และ library แทบทุกอย่างของ Java ได้เหมือนเดิม แล้วยังสามารถหลีกเลี่ยงปัญหาการที่ไม่สามารถสร้าง JVM สำหรับ android ได้อีกด้วยครับ
ถ้าตามนี้แปลว่าเปลี่ยนเป็น ART แล้วจะเร็วขึ้นแค่ตอนเปิดแอพเหรอครับ
ไม่ใช่ครับ เพราะอย่างที่บอกคือเวลา JIT ทำงานจะทำการ compile โค้ดเฉพาะส่วนที่กำลังใช้งานอยู่ไปเก็บในหน่วยความจำ และรันโปรแกรมจากโค้ดที่ได้ compile แล้ว แต่เนื่องจากมันไม่ได้ compile ทีเดียวทั้งโปรแกรม ทำให้หากรันโปรแกรมขนาดใหญ่ อาจมีการ compile หลายครั้ง นอกจากนี้พื้นที่หน่วยความจำที่เอาไว้เก็บโค้ดส่วนที่ compile แล้วยังมีขนาดจำกัด ดังนั้นหากพื้นที่ส่วนนี้เต็ม โค้ดเก่าที่ไม่ได้ถูกเรียกใช้ก็จะถูกแทนที่ ทำให้เมื่อต้องกลับไปรันโค้ดส่วนนั้นอีกครั้งก็จะต้องมีการ compile อีกครับ
ผมจะรอครับ รออย่างมีความหวัง
android ต้องทำได้ LOL
ตัวนี้คือ Droidbooster ที่ Google ซื้อ บ. FlexyCore เพื่อจะเอาไปหรือเปล่าครับ?
http://droidsans.com/google-acquire-flexycore-who-develop-droidbooster
ผมลองลงแล้วเครื่องผมเร็วขึ้นจริงๆ ดูหลักการแล้วก็คล้ายๆกันด้วย
ไม่ต้องเทียบกับใคร เวลาค่อยๆพิสูจน์หุ่นเขียวแท้
มันคือ ความหวัง
รอคอย มาเมื่อไหร่ มีแรงๆ ลื่นๆ ไม่น้อยหน้า OS อื่นแว้ว
ขอบคุณสำหรับข่าวและความรู้คร้าบบบ ^_^
ด้วยสเปคมือถือ android ปัจจุบันที่แรงนรกแบบนี้ ถ้าได้ OS ที่ทำงานได้ลื่นไหนแบบ IOS เข้ามา ไม่อยากจะคิดเลย มันจะแจ่มมากๆ กรี๊ดดดด
โอ้ ยอดมาก อยากลองแล้วเนี่ย เมื่อไรอากู๋จะปล่อย factory image 4.4 ของ nexus 4 นะ
ZR จะได้ไปถึง 4.4 ป่าวอ่ะอยากรู้เหมือนกัน
ไม่อยากคาดหวังสูงมาก เพราะไม่ว่าจะเป็น JIT หรือ AOT ต่างก็ต้องไปติดคอขวดที่ Garbage Collection เหมือนกัน ใช้ไปก็มีกระตุกเล็กน้อยเหมือนกัน
คาดว่าจะดีขึ้นหน่อยก็ตรง startup time หรือการเปลี่ยนหน้าจออาจจะไหลลื่นมากขึ้น
อืม อาจไม่รู้เชิงเทคนิค แต่ถ้ามาเมื่อไหร่ จะช่วยลองนะ
ลองแล้วครับ โดยรวมรู้สึกว่าเร็วขึ้นเล็กน้อย ด้วยความที่ nexus 5 สเปคมันสูงในระดับหนึ่งอยู่แล้ว เลยแยกถึงความแตกต่างได้ยาก
…ตอนแรกก็ว่าจะลองยาวๆ แต่ line ดัน force close ซะนี่ -_- นอกนั้นแอพอื่นยังใช้ได้ไม่มีปัญหา เลยต้องกลับมาใช้แบบเดิมก่อน
สาวกแอนดรอยด์รอดูกันต่อไป เพราะยังไง อนาคต มันก็ต้องพัฒนาต่อไปเรื่อยๆ ^^
กำลังเทสก์บน Nexus 7 3G (2013) ให้นะครับ เบื้องต้นแค่รีสตาร์ทกลับมา optimizing แอปก็นานแล้วครับ
จากทีลองใช้ ART ประมาณ 1 สัปดาห์ ที่สัมผัสได้คือ เร็วขึ้น,มีแค่บางโปรแกรมที่ไม่รองรับเช่น Whatsapp (ผมไม่ค่อยได้ใช้) แต่สิ่งที่ประทับใจคือ "แบตอึดขึ้นครับ"
> developer options > ART
ของผม n7 4.4 เจน1 หาดูไม่มีอะคับ หรือรุ่นนี้เขาไม่มีใช่ป่าวคับ
> developer options > ART
ผมเวอร์ 4.4.2 หาไม่เจอเช่นกันครับ ^^"
อยู่ล่าง ๆ เลยครับ
ในหมวด APPS
Select runtime มันจะเลือกเป็น use Dalvik อยู่ ก็เปลี่ยนเป็น USE ART แล้วก็ Reboot รอมัน Optimize Apps อีกครั้ง
ปัญหาคือ หลายท่านว่า "แบตอึดขึ้น" แต่ของผม หายฮวบเลยครับ – -*
อ๋อ เข้าใจแล้วครับ.. ของผมมันไม่มี Developer Option เลยนิเอง
จากกระทู้นี้
http://www.forbes.com/sites/gordonkelly/2013/12/13/how-to-make-your-android-phone-faster-and-its-battery-last-longer/
1. เข้าไปที่ About Phone
2. ที่ Build Number ที่อยู่ล่างสุด แตะๆไปเรื่อยๆ จนกว่าจะได้เป็น Developer
3. ย้อนกลับมาที่หมวด Setting ก็จะเจอ Developer Option และ
มือใหม่อะครับผม อิอิ
อืม แล้วจะลองดูนะ ART ^^
ลองบ้าง
S4 เวอร์ชั่น 4.4 ไม่มีให้เลือก ART runtime ด้วยหรอครับ อยากลอง T-T
T-T พี่ ๆ ช่วยหน่อย เปลี่ยนเป็น art runtime แล้ว ทุกอย่างลื่นหมด ยกเว้น Touchmonster เล่นไม่ได้ T-T ค้างเด้งออกตลอด พอกดเข้าไปใหม่ เครื่องค้างที่หน้าโลโก้ LG แก้ยังไงเนี๊ยยยย
cookie run กับ เกมอื่นๆ จะลื่นไปไหน (LG G2 MINI)