• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Abc2011 yagi
 

Abc2011 yagi

on

  • 2,326 views

ABC2011 Summerの直前だか何かに破棄したやつ。

ABC2011 Summerの直前だか何かに破棄したやつ。

Statistics

Views

Total Views
2,326
Views on SlideShare
1,045
Embed Views
1,281

Actions

Likes
1
Downloads
4
Comments
0

3 Embeds 1,281

http://visible-true.blogspot.com 894
http://visible-true.blogspot.jp 383
http://visible-true.blogspot.kr 4

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Abc2011 yagi Abc2011 yagi Presentation Transcript

    • Android3.0 Honeycomb High-performance 2D and 3D graphics Support for multicore processor architectures Rich multimedia and connectivity2011 7 12
    • Who am I ? TOSHIHIRO YAGI Market: Blog: http://visible-true.blogspot.com/ Twitter: @sys1yagi2011 7 12
    • http://www.flickr.com/photos/bistrosavage/1313589/ High-performance 2D and 3D graphics2011 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 • ValueAnimator2011 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 • AnimatorSet2011 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” /> OpenGL2011 7 12
    • • View onDraw 1002011 7 12
    • • =false 20msec • =true 4msec 5 SurfaceView2011 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 • Bitmap2011 7 12
    • Renderscript 3D graphics engine http://www.flickr.com/photos/arenamontanus/3359137341/2011 7 12
    • Youtube2011 7 12
    • android.renderscript • 3D •C • CPU,GPU ScriptC_A.java RenderScript A.d A.rs llvm-rs-cc.exe RenderScript RenderScript A.bc RenderScript2011 7 12
    • • • • • • NDK,OpenGL2011 7 12
    • • RenderScript • • OpenGL OpenGL2011 7 12
    • http://www.flickr.com/photos/mccheek/1471251914/ Support for processor multicore processor architectures2011 7 12
    • Support for multicore processor architectureshttp://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® • : 576MB2011 7 12
    • HTC-Desire2011 7 12
    • Optimus Pad • CPU:NVIDIA® Tegra™2 1GHz x 2 • : 1GB2011 7 12
    • Optimus Pad 22011 7 12
    • 2011 7 12
    • • 3 4 HTC-Desire Optimus Pad 3 95294msec 33803msec 4 125017msec 43280msec2011 7 12
    • http://www.flickr.com/photos/krayker/2268587409/ Rich multimedia and conectivity media2011 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 52011 7 12
    • getSupportedPreviewFpsRange() getSupportedPreviewFrameRates() • android.hardware.Camera.Parameters Optimus Pad : :4 35 : 5,10,15,20,24,25,302011 7 12
    • Texture support for image streams http://www.flickr.com/photos/romanywg/4065904913/2011 7 12
    • android.graphics.SurfaceTexture • OpenGL OpenGL2011 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 MediaPlayer2011 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.ExifInterface2011 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_QCIF2011 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-in2011 7 12