SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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は作れるか
 

Similar a 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
 

Similar a 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
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 

Último (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 

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