SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Android3.0
       Honeycomb

            High-performance 2D and 3D graphics
            Support for multicore processor architectures
            Rich multimedia and connectivity




2011   7   12
Who am I ?




                                       TOSHIHIRO YAGI

                Market:

                 Blog:     http://visible-true.blogspot.com/

                Twitter:              @sys1yagi




2011   7   12
http://www.flickr.com/photos/bistrosavage/1313589/



       High-performance 2D and 3D    graphics


2011   7   12
Animation Framework




           http://www.flickr.com/photos/kudumomo/2354710896/

2011   7   12
android.animation

           interface                               class
       •    Animator.AnimatorListener              •   Animator
       •    LayoutTransition.TransitionListener    •   AnimatorInflator
       •    TimeInterpolator                       •   AnimatorListenerAdapter
       •    TypeEvalutor                           •   AnimatorSet
       •    ValueAnimator.AnimatorUpdateListener   •   AnimatorSet.Builder
                                                   •   ArgbEvalutor
                                                   •   FloatEvalutor
                                                   •   IntEvalutor
                                                   •   Keyframe
                                                   •   LayoutTransition
                                                   •   ObjectAnimator
                                                   •   PropertyValueHolder
                                                   •   ValueAnimator


2011   7   12
•




                (100,100)   ValueAnimator
                                             AnimationUpdateListener
                             duration:1000
                                              onAnimationUpdate(ValueAnimator animator){
                             from:0
                                                value = (Float)animator.getAniamtionValue();
                             to:100
                                                x = initialX + (value*2);
                                                y = initialY + value;
                                                invalidate();
                             (300,200)        }




2011   7   12
•                     ObjectAnimator

       • ViewGroup           LayoutTransition

       •                     TypeEvaluator

       •             (   )   Keyframe

       •                     AnimatorSet




2011   7   12
Hardware accelerated
       2D Graphics




                http://www.flickr.com/photos/uriba/2228346515/

2011   7   12
• AndroidManifest.xml      2D




       <application android:hardwareAccelerated=”true” />
       <activity android:hardwareAccelerated=”true” />



                OpenGL



2011   7   12
•         View onDraw
                    100




2011   7   12
•    =false       20msec

                •    =true        4msec




                              5


       SurfaceView


2011   7   12
•




                SurfaceView   H/W   etc...




2011   7   12
View support for
       hardware and
       software layers
       View




                http://www.flickr.com/photos/zooboing/4310581954/
2011   7   12
• View                    setLayerType(int)


           LAYER_TYPE_HARDWARE
                •          OpenGL


           LAYER_TYPE_SOFTWARE
                •          Bitmap




2011   7   12
Renderscript 3D
       graphics engine




  http://www.flickr.com/photos/arenamontanus/3359137341/
2011   7   12
Youtube




2011   7   12
android.renderscript

       •                      3D
       •C
       •                                                CPU,GPU

                                          ScriptC_A.java

                                        RenderScript


                                                         A.d
                A.rs   llvm-rs-cc.exe
                                                 RenderScript

   RenderScript
                                                                 A.bc
                                                           RenderScript

2011   7   12
•

       •

       •

       •

       •




                NDK,OpenGL




2011   7   12
•          RenderScript


       •


       • OpenGL




                                 OpenGL




2011   7   12
http://www.flickr.com/photos/mccheek/1471251914/


       Support for                          processor
       multicore processor architectures
2011   7   12
Support for
       multicore processor
       architectures




http://www.flickr.com/photos/fancy-diamonds/5511634443/
2011   7   12
•Android3.0


       •Dalvik VM Bionic



       •




2011   7   12
2011   7   12
•


                                	   	   final long start = SystemClock.uptimeMillis();
                                	   	   Thread[] threads = new Thread[count];
                                	   	   for (int i = 0; i < threads.length; i++) {
                                	   	   	   threads[i] = new Thread(){
                                	   	   	   	    public void run() {
                                	   	   	   	    	   int items = 0;
                                	   	   	   	    	   for (int j = 0; j < Integer.MAX_VALUE; j++) {
                                	   	   	   	    	   	    items = j;
                                	   	   	   	    	   }
            Integer.MAX_VALUE   	   	   	   	    };
                                	   	   	   };
                                	   	   	   threads[i].start();
                                	   	   }
            count               	   	   for(int i = 0; i < threads.length; i++){
                                	   	   	   try{
                                	   	   	   	    threads[i].join();
                                	   	   	   }catch(Exception e){
                                	   	   	   	    throw new RuntimeException("                        ");
                                	   	   	   }
                                	   	   }
                                	   	   final long end = SystemClock.uptimeMillis() - start;



2011   7   12
HTC-Desire

       • CPU:1GHz Qualcomm®
         QSD8250 Snapdragon®


       •        : 576MB




2011   7   12
HTC-Desire


2011   7   12
Optimus Pad

   • CPU:NVIDIA® Tegra™2   1GHz x 2


   •            : 1GB




2011   7   12
Optimus Pad   2


2011   7   12
2011   7   12
•             3   4




                    HTC-Desire   Optimus Pad
                3   95294msec    33803msec
                4   125017msec   43280msec




2011   7   12
http://www.flickr.com/photos/krayker/2268587409/



       Rich multimedia and conectivity   media


2011   7   12
Time lapse video




                http://www.flickr.com/photos/skyseeker/312716886/
2011   7   12
•




                http://www.flickr.com/photos/sketch-book/41095087/
                http://www.flickr.com/photos/sketch-book/35507705/
2011   7   12
• MediaRecoder                           setProfile(CamcorderProfile)
                                          setCaptureRate(double fps)




       MediaRecorder recoder = new MediaRecorder();
       recoder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);

       recoder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_480P));
       recoder.setCaptureRate(fps);

       recoder.setOutputFile(Environment.getExternalStorageDirectory().getAbsolutePath() +
       "/test.mp4");
       recoder.setPreviewDisplay(holder.getSurface());
       recoder.prepare();
       recoder.start();




2011   7   12
•                 1


       •            =1




                4            20   5


2011   7   12
getSupportedPreviewFpsRange()
       getSupportedPreviewFrameRates()

       •
           android.hardware.Camera.Parameters




       Optimus Pad                   :

                                         :4     35
                                     : 5,10,15,20,24,25,30



2011   7   12
Texture support for
       image streams




           http://www.flickr.com/photos/romanywg/4065904913/

2011   7   12
android.graphics.SurfaceTexture

       • OpenGL




                          OpenGL


2011   7   12
2011   7   12
mTextureID = textures[0];
                                 GLES20.glBindTexture(0x8D65, mTextureID);




           camera = Camera.open();
           SurfaceTexture surfaceTexture = new SurfaceTexture(mTextureID);
           Parameters param = camera.getParameters();
           Size size = param.getPreviewSize();
           camera.setPreviewTexture(surfaceTexture);
           camera.startPreview();



2011   7   12
HTTP live streaming




       http://www.flickr.com/photos/nikonvscanon/2081397439/

2011   7   12
• HTTP live streaming draft protocol


       • m3u URL MediaPlayer




2011   7   12
2011   7   12
path = "http://std1.ladio.net:8060/i-j-y-u-i-n--.m3u";




            mMediaPlayer = new MediaPlayer();
            mMediaPlayer.setDataSource(path);
            mMediaPlayer.setDisplay(holder);
            mMediaPlayer.prepare();
            mMediaPlayer.setOnBufferingUpdateListener(this);
            mMediaPlayer.setOnCompletionListener(this);
            mMediaPlayer.setOnPreparedListener(this);
            mMediaPlayer.setOnVideoSizeChangedListener(this);
            mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

2011   7   12
EXIF data




                http://www.flickr.com/photos/qubodup/4094723007/
2011   7   12
EXIF

       • Exchangeable Image File Format                         JPEG




                                                                       etc...
                http://www.flickr.com/photos/krasi/2462179084/




2011   7   12
•             (TAG_APERTURE)
       •          (TAG_EXPOSURE_TIME)
       • ISO     (TAG_ISO)




                android.media.ExifInterface



2011   7   12
Camcorder profiles




                http://www.flickr.com/photos/picken/5283258818/
2011   7   12
android.media.CamcorderProfile

       Added Fields                   Added Methods
       int QUALITY_1080P              boolean hasProfile(int) 
       int QUALITY_480P               boolean hasProfile(int, int)
       int QUALITY_720P
       int QUALITY_CIF
       int QUALITY_QCIF
       int QUALITY_TIME_LAPSE_1080P
       int QUALITY_TIME_LAPSE_480P
       int QUALITY_TIME_LAPSE_720P
       int QUALITY_TIME_LAPSE_CIF
       int QUALITY_TIME_LAPSE_HIGH
       int QUALITY_TIME_LAPSE_LOW
       int QUALITY_TIME_LAPSE_QCIF




2011   7   12
Digital rights
       management (DRM)




                http://www.flickr.com/photos/ideonexus/5176340670/
2011   7   12
DRM API

       • Java                                API
       •                        DRM




                                       3.0
 Optimus Pad
 3.1 XOOM       Widevine DRM plug-in




2011   7   12

Contenu connexe

Tendances

Core Graphics & Core Animation
Core Graphics & Core AnimationCore Graphics & Core Animation
Core Graphics & Core AnimationAndreas Blick
 
Skia & Freetype - Android 2D Graphics Essentials
Skia & Freetype - Android 2D Graphics EssentialsSkia & Freetype - Android 2D Graphics Essentials
Skia & Freetype - Android 2D Graphics EssentialsKyungmin Lee
 
Image and Video Processing Using Adobe Image Foundation's Toolkit For Flash -...
Image and Video Processing Using Adobe Image Foundation's Toolkit For Flash -...Image and Video Processing Using Adobe Image Foundation's Toolkit For Flash -...
Image and Video Processing Using Adobe Image Foundation's Toolkit For Flash -...Kevin Goldsmith
 
Daggerate your code - Write your own annotation processor
Daggerate your code - Write your own annotation processorDaggerate your code - Write your own annotation processor
Daggerate your code - Write your own annotation processorBartosz Kosarzycki
 
Google Developer Fest 2010
Google Developer Fest 2010Google Developer Fest 2010
Google Developer Fest 2010Chris Ramsdale
 
Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010Chris Ramsdale
 
Google io bootcamp_2010
Google io bootcamp_2010Google io bootcamp_2010
Google io bootcamp_2010Chris Ramsdale
 
Basics of Model/View Qt programming
Basics of Model/View Qt programmingBasics of Model/View Qt programming
Basics of Model/View Qt programmingICS
 
Copy Your Favourite Nokia App with Qt
Copy Your Favourite Nokia App with QtCopy Your Favourite Nokia App with Qt
Copy Your Favourite Nokia App with Qtaccount inactive
 
Understanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile BrowsersUnderstanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile BrowsersAriya Hidayat
 
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM Europe
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM EuropeBlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM Europe
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM EuropeMariano Carrizo
 
The (near) future of personal computers
The (near) future of personal computersThe (near) future of personal computers
The (near) future of personal computersKevin Goldsmith
 
SIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGLSIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGLMark Kilgard
 
MVisio: A Computer Graphics Platform for Virtual Reality, Science and Education
MVisio: A Computer Graphics Platform for Virtual Reality, Science and EducationMVisio: A Computer Graphics Platform for Virtual Reality, Science and Education
MVisio: A Computer Graphics Platform for Virtual Reality, Science and EducationAchille Peternier
 
OpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsOpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsMark Kilgard
 
Hybrid Apps (Native + Web) using WebKit
Hybrid Apps (Native + Web) using WebKitHybrid Apps (Native + Web) using WebKit
Hybrid Apps (Native + Web) using WebKitAriya Hidayat
 

Tendances (18)

Core Graphics & Core Animation
Core Graphics & Core AnimationCore Graphics & Core Animation
Core Graphics & Core Animation
 
Skia & Freetype - Android 2D Graphics Essentials
Skia & Freetype - Android 2D Graphics EssentialsSkia & Freetype - Android 2D Graphics Essentials
Skia & Freetype - Android 2D Graphics Essentials
 
Image and Video Processing Using Adobe Image Foundation's Toolkit For Flash -...
Image and Video Processing Using Adobe Image Foundation's Toolkit For Flash -...Image and Video Processing Using Adobe Image Foundation's Toolkit For Flash -...
Image and Video Processing Using Adobe Image Foundation's Toolkit For Flash -...
 
Daggerate your code - Write your own annotation processor
Daggerate your code - Write your own annotation processorDaggerate your code - Write your own annotation processor
Daggerate your code - Write your own annotation processor
 
Google Developer Fest 2010
Google Developer Fest 2010Google Developer Fest 2010
Google Developer Fest 2010
 
Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010
 
Duel of Two Libraries: Cairo & Skia
Duel of Two Libraries: Cairo & SkiaDuel of Two Libraries: Cairo & Skia
Duel of Two Libraries: Cairo & Skia
 
Google io bootcamp_2010
Google io bootcamp_2010Google io bootcamp_2010
Google io bootcamp_2010
 
Basics of Model/View Qt programming
Basics of Model/View Qt programmingBasics of Model/View Qt programming
Basics of Model/View Qt programming
 
Copy Your Favourite Nokia App with Qt
Copy Your Favourite Nokia App with QtCopy Your Favourite Nokia App with Qt
Copy Your Favourite Nokia App with Qt
 
Understanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile BrowsersUnderstanding Hardware Acceleration on Mobile Browsers
Understanding Hardware Acceleration on Mobile Browsers
 
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM Europe
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM EuropeBlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM Europe
BlackBerry10 apps with Adobe AIR & Apache Flex - BlackBerry JAM Europe
 
Graphiti presentation
Graphiti presentationGraphiti presentation
Graphiti presentation
 
The (near) future of personal computers
The (near) future of personal computersThe (near) future of personal computers
The (near) future of personal computers
 
SIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGLSIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGL
 
MVisio: A Computer Graphics Platform for Virtual Reality, Science and Education
MVisio: A Computer Graphics Platform for Virtual Reality, Science and EducationMVisio: A Computer Graphics Platform for Virtual Reality, Science and Education
MVisio: A Computer Graphics Platform for Virtual Reality, Science and Education
 
OpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsOpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUs
 
Hybrid Apps (Native + Web) using WebKit
Hybrid Apps (Native + Web) using WebKitHybrid Apps (Native + Web) using WebKit
Hybrid Apps (Native + Web) using WebKit
 

En vedette

Potato02 ViewSticker作りました
Potato02 ViewSticker作りましたPotato02 ViewSticker作りました
Potato02 ViewSticker作りましたToshihiro Yagi
 
Potato04 The end of confusion of callback between activity and fragment.
Potato04 The end of confusion of callback between activity and fragment.Potato04 The end of confusion of callback between activity and fragment.
Potato04 The end of confusion of callback between activity and fragment.Toshihiro Yagi
 
Potato01 No more 手書き ViewHolder
Potato01 No more 手書き ViewHolderPotato01 No more 手書き ViewHolder
Potato01 No more 手書き ViewHolderToshihiro Yagi
 
Potato03 KotlinでAndroidアプリ開発(後編)
Potato03 KotlinでAndroidアプリ開発(後編)Potato03 KotlinでAndroidアプリ開発(後編)
Potato03 KotlinでAndroidアプリ開発(後編)Toshihiro Yagi
 
Re viewのリアルタイムプレギュー機能をつくってみたよ
Re viewのリアルタイムプレギュー機能をつくってみたよRe viewのリアルタイムプレギュー機能をつくってみたよ
Re viewのリアルタイムプレギュー機能をつくってみたよToshihiro Yagi
 
Firefox osでlineは作れるか
Firefox osでlineは作れるかFirefox osでlineは作れるか
Firefox osでlineは作れるかToshihiro Yagi
 

En vedette (7)

Flight入門
Flight入門Flight入門
Flight入門
 
Potato02 ViewSticker作りました
Potato02 ViewSticker作りましたPotato02 ViewSticker作りました
Potato02 ViewSticker作りました
 
Potato04 The end of confusion of callback between activity and fragment.
Potato04 The end of confusion of callback between activity and fragment.Potato04 The end of confusion of callback between activity and fragment.
Potato04 The end of confusion of callback between activity and fragment.
 
Potato01 No more 手書き ViewHolder
Potato01 No more 手書き ViewHolderPotato01 No more 手書き ViewHolder
Potato01 No more 手書き ViewHolder
 
Potato03 KotlinでAndroidアプリ開発(後編)
Potato03 KotlinでAndroidアプリ開発(後編)Potato03 KotlinでAndroidアプリ開発(後編)
Potato03 KotlinでAndroidアプリ開発(後編)
 
Re viewのリアルタイムプレギュー機能をつくってみたよ
Re viewのリアルタイムプレギュー機能をつくってみたよRe viewのリアルタイムプレギュー機能をつくってみたよ
Re viewのリアルタイムプレギュー機能をつくってみたよ
 
Firefox osでlineは作れるか
Firefox osでlineは作れるかFirefox osでlineは作れるか
Firefox osでlineは作れるか
 

Similaire à Abc2011 yagi

From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN StackTroy Miles
 
Intro to computer vision in .net
Intro to computer vision in .netIntro to computer vision in .net
Intro to computer vision in .netStephen Lorello
 
Angular Application Testing
Angular Application TestingAngular Application Testing
Angular Application TestingTroy Miles
 
react-slides.pdf gives information about react library
react-slides.pdf gives information about react libraryreact-slides.pdf gives information about react library
react-slides.pdf gives information about react libraryjanet736113
 
XebiCon'17 : Faites chauffer les neurones de votre Smartphone avec du Deep Le...
XebiCon'17 : Faites chauffer les neurones de votre Smartphone avec du Deep Le...XebiCon'17 : Faites chauffer les neurones de votre Smartphone avec du Deep Le...
XebiCon'17 : Faites chauffer les neurones de votre Smartphone avec du Deep Le...Publicis Sapient Engineering
 
Formation angular js/Ionic
Formation angular js/IonicFormation angular js/Ionic
Formation angular js/IonicHana Amiri
 
Eric Lafortune - The Jack and Jill build system
Eric Lafortune - The Jack and Jill build systemEric Lafortune - The Jack and Jill build system
Eric Lafortune - The Jack and Jill build systemGuardSquare
 
Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5Stephen Chin
 
JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)Hendrik Ebbers
 
Using Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systemsUsing Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systemsSerge Stinckwich
 
Spring cloud for microservices architecture
Spring cloud for microservices architectureSpring cloud for microservices architecture
Spring cloud for microservices architectureIgor Khotin
 
The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactOliver N
 
JavaFX - Next Generation Java UI
JavaFX - Next Generation Java UIJavaFX - Next Generation Java UI
JavaFX - Next Generation Java UIYoav Aharoni
 

Similaire à Abc2011 yagi (20)

From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
 
Intro to computer vision in .net
Intro to computer vision in .netIntro to computer vision in .net
Intro to computer vision in .net
 
Angular Application Testing
Angular Application TestingAngular Application Testing
Angular Application Testing
 
react-slides.pdf
react-slides.pdfreact-slides.pdf
react-slides.pdf
 
react-slides.pdf gives information about react library
react-slides.pdf gives information about react libraryreact-slides.pdf gives information about react library
react-slides.pdf gives information about react library
 
XebiCon'17 : Faites chauffer les neurones de votre Smartphone avec du Deep Le...
XebiCon'17 : Faites chauffer les neurones de votre Smartphone avec du Deep Le...XebiCon'17 : Faites chauffer les neurones de votre Smartphone avec du Deep Le...
XebiCon'17 : Faites chauffer les neurones de votre Smartphone avec du Deep Le...
 
react-slides.pptx
react-slides.pptxreact-slides.pptx
react-slides.pptx
 
Node azure
Node azureNode azure
Node azure
 
Formation angular js/Ionic
Formation angular js/IonicFormation angular js/Ionic
Formation angular js/Ionic
 
Real life XNA
Real life XNAReal life XNA
Real life XNA
 
Intro to HTML5
Intro to HTML5Intro to HTML5
Intro to HTML5
 
Eric Lafortune - The Jack and Jill build system
Eric Lafortune - The Jack and Jill build systemEric Lafortune - The Jack and Jill build system
Eric Lafortune - The Jack and Jill build system
 
Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5Moving to the Client - JavaFX and HTML5
Moving to the Client - JavaFX and HTML5
 
JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)JavaFX Enterprise (JavaOne 2014)
JavaFX Enterprise (JavaOne 2014)
 
Using Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systemsUsing Smalltalk for controlling robotics systems
Using Smalltalk for controlling robotics systems
 
Core animation
Core animationCore animation
Core animation
 
Spring cloud for microservices architecture
Spring cloud for microservices architectureSpring cloud for microservices architecture
Spring cloud for microservices architecture
 
Kinect de-theremin
Kinect de-thereminKinect de-theremin
Kinect de-theremin
 
The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose React
 
JavaFX - Next Generation Java UI
JavaFX - Next Generation Java UIJavaFX - Next Generation Java UI
JavaFX - Next Generation Java UI
 

Dernier

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Dernier (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

Abc2011 yagi

  • 1. Android3.0 Honeycomb High-performance 2D and 3D graphics Support for multicore processor architectures Rich multimedia and connectivity 2011 7 12
  • 2. Who am I ? TOSHIHIRO YAGI Market: Blog: http://visible-true.blogspot.com/ Twitter: @sys1yagi 2011 7 12
  • 3. http://www.flickr.com/photos/bistrosavage/1313589/ High-performance 2D and 3D graphics 2011 7 12
  • 4. Animation Framework http://www.flickr.com/photos/kudumomo/2354710896/ 2011 7 12
  • 5. android.animation interface class • Animator.AnimatorListener • Animator • LayoutTransition.TransitionListener • AnimatorInflator • TimeInterpolator • AnimatorListenerAdapter • TypeEvalutor • AnimatorSet • ValueAnimator.AnimatorUpdateListener • AnimatorSet.Builder • ArgbEvalutor • FloatEvalutor • IntEvalutor • Keyframe • LayoutTransition • ObjectAnimator • PropertyValueHolder • ValueAnimator 2011 7 12
  • 6. (100,100) ValueAnimator AnimationUpdateListener duration:1000 onAnimationUpdate(ValueAnimator animator){ from:0 value = (Float)animator.getAniamtionValue(); to:100 x = initialX + (value*2); y = initialY + value; invalidate(); (300,200) } 2011 7 12
  • 7. ObjectAnimator • ViewGroup LayoutTransition • TypeEvaluator • ( ) Keyframe • AnimatorSet 2011 7 12
  • 8. Hardware accelerated 2D Graphics http://www.flickr.com/photos/uriba/2228346515/ 2011 7 12
  • 9. • AndroidManifest.xml 2D <application android:hardwareAccelerated=”true” /> <activity android:hardwareAccelerated=”true” /> OpenGL 2011 7 12
  • 10. View onDraw 100 2011 7 12
  • 11. =false 20msec • =true 4msec 5 SurfaceView 2011 7 12
  • 12. SurfaceView H/W etc... 2011 7 12
  • 13. View support for hardware and software layers View http://www.flickr.com/photos/zooboing/4310581954/ 2011 7 12
  • 14. • View setLayerType(int) LAYER_TYPE_HARDWARE • OpenGL LAYER_TYPE_SOFTWARE • Bitmap 2011 7 12
  • 15. Renderscript 3D graphics engine http://www.flickr.com/photos/arenamontanus/3359137341/ 2011 7 12
  • 16. Youtube 2011 7 12
  • 17. android.renderscript • 3D •C • CPU,GPU ScriptC_A.java RenderScript A.d A.rs llvm-rs-cc.exe RenderScript RenderScript A.bc RenderScript 2011 7 12
  • 18. • • • • NDK,OpenGL 2011 7 12
  • 19. RenderScript • • OpenGL OpenGL 2011 7 12
  • 20. http://www.flickr.com/photos/mccheek/1471251914/ Support for processor multicore processor architectures 2011 7 12
  • 21. Support for multicore processor architectures http://www.flickr.com/photos/fancy-diamonds/5511634443/ 2011 7 12
  • 22. •Android3.0 •Dalvik VM Bionic • 2011 7 12
  • 23. 2011 7 12
  • 24. final long start = SystemClock.uptimeMillis(); Thread[] threads = new Thread[count]; for (int i = 0; i < threads.length; i++) { threads[i] = new Thread(){ public void run() { int items = 0; for (int j = 0; j < Integer.MAX_VALUE; j++) { items = j; } Integer.MAX_VALUE }; }; threads[i].start(); } count for(int i = 0; i < threads.length; i++){ try{ threads[i].join(); }catch(Exception e){ throw new RuntimeException(" "); } } final long end = SystemClock.uptimeMillis() - start; 2011 7 12
  • 25. HTC-Desire • CPU:1GHz Qualcomm® QSD8250 Snapdragon® • : 576MB 2011 7 12
  • 27. Optimus Pad • CPU:NVIDIA® Tegra™2 1GHz x 2 • : 1GB 2011 7 12
  • 28. Optimus Pad 2 2011 7 12
  • 29. 2011 7 12
  • 30. 3 4 HTC-Desire Optimus Pad 3 95294msec 33803msec 4 125017msec 43280msec 2011 7 12
  • 31. http://www.flickr.com/photos/krayker/2268587409/ Rich multimedia and conectivity media 2011 7 12
  • 32. Time lapse video http://www.flickr.com/photos/skyseeker/312716886/ 2011 7 12
  • 33. http://www.flickr.com/photos/sketch-book/41095087/ http://www.flickr.com/photos/sketch-book/35507705/ 2011 7 12
  • 34. • MediaRecoder setProfile(CamcorderProfile) setCaptureRate(double fps) MediaRecorder recoder = new MediaRecorder(); recoder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); recoder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_480P)); recoder.setCaptureRate(fps); recoder.setOutputFile(Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.mp4"); recoder.setPreviewDisplay(holder.getSurface()); recoder.prepare(); recoder.start(); 2011 7 12
  • 35. 1 • =1 4 20 5 2011 7 12
  • 36. getSupportedPreviewFpsRange() getSupportedPreviewFrameRates() • android.hardware.Camera.Parameters Optimus Pad : :4 35 : 5,10,15,20,24,25,30 2011 7 12
  • 37. Texture support for image streams http://www.flickr.com/photos/romanywg/4065904913/ 2011 7 12
  • 38. android.graphics.SurfaceTexture • OpenGL OpenGL 2011 7 12
  • 39. 2011 7 12
  • 40. mTextureID = textures[0]; GLES20.glBindTexture(0x8D65, mTextureID); camera = Camera.open(); SurfaceTexture surfaceTexture = new SurfaceTexture(mTextureID); Parameters param = camera.getParameters(); Size size = param.getPreviewSize(); camera.setPreviewTexture(surfaceTexture); camera.startPreview(); 2011 7 12
  • 41. HTTP live streaming http://www.flickr.com/photos/nikonvscanon/2081397439/ 2011 7 12
  • 42. • HTTP live streaming draft protocol • m3u URL MediaPlayer 2011 7 12
  • 43. 2011 7 12
  • 44. path = "http://std1.ladio.net:8060/i-j-y-u-i-n--.m3u"; mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(path); mMediaPlayer.setDisplay(holder); mMediaPlayer.prepare(); mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPreparedListener(this); mMediaPlayer.setOnVideoSizeChangedListener(this); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 2011 7 12
  • 45. EXIF data http://www.flickr.com/photos/qubodup/4094723007/ 2011 7 12
  • 46. EXIF • Exchangeable Image File Format JPEG etc... http://www.flickr.com/photos/krasi/2462179084/ 2011 7 12
  • 47. (TAG_APERTURE) • (TAG_EXPOSURE_TIME) • ISO (TAG_ISO) android.media.ExifInterface 2011 7 12
  • 48. Camcorder profiles http://www.flickr.com/photos/picken/5283258818/ 2011 7 12
  • 49. android.media.CamcorderProfile Added Fields Added Methods int QUALITY_1080P boolean hasProfile(int)  int QUALITY_480P boolean hasProfile(int, int) int QUALITY_720P int QUALITY_CIF int QUALITY_QCIF int QUALITY_TIME_LAPSE_1080P int QUALITY_TIME_LAPSE_480P int QUALITY_TIME_LAPSE_720P int QUALITY_TIME_LAPSE_CIF int QUALITY_TIME_LAPSE_HIGH int QUALITY_TIME_LAPSE_LOW int QUALITY_TIME_LAPSE_QCIF 2011 7 12
  • 50. Digital rights management (DRM) http://www.flickr.com/photos/ideonexus/5176340670/ 2011 7 12
  • 51. DRM API • Java API • DRM 3.0 Optimus Pad 3.1 XOOM Widevine DRM plug-in 2011 7 12