 94% of apps peak at <150MB.  92% of apps average at <100MB. Component usage (ballpark) 512MB Phone 1GB Tablet 2GB Desktop Total physical51210242048.

Slides:



Advertisements
Similar presentations
TouchDevelop Create apps ON your phone! Peli de Halleux (Senior Software Developer) Microsoft Research.
Advertisements

Contents Different O.S. and platforms. Different programming languages. Possibilities for mobiles. GPS, digital compass, accelerometer,… Augmented reality.
Windows Phone 7.5 Academic RoadShow Christophe Peerens Neomytic.
private void GetFixedFeatures() { Version v = Environment.OSVersion.Version; bool g = Gyroscope.IsSupported; bool a = Accelerometer.IsSupported;
By Tyler Moore.  “Firefox OS is about pushing the boundaries of what is possible with the Web on mobile and enabling entirely new segments of users to.
Windows Phone 8.1 for Developers Sascha Corti Technical Evangelist, Microsoft Switzerland | techpreacher.corti.com
Programming with touchdevelop touchdevelop introduction Disclaimer: This document is provided “as-is”. Information and views expressed in this document,
Michael Barrett Founder Nok Nok Labs Camera Fingerprint Sensor Microphone Secure Execution Secure Storage Location Motion, Heartbeat, etc. M7 Face.
Facebook apps Teppo Räisänen. Basic info screen View App Profile Page Submit to Search.
Tony 684 User Data App Services Arun 765 Thomas 762 Shell Kernel Shawn 626 App Roberth 779 Enterprise John Ignite Store Barclay 695 Andrew 617 App Model.
Build /16/2017 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION.
IoT HoloLens Surface Hub Windows Desktop Windows Mobile Xbox ONE CORE OS ONE APP PLATFORM ONE STORE Windows 10.
Unix Processes.
Mobile Application Development
Final Presentation Spring 2003 Project ID: D0822 Project Name: WinCE integrating BT media share application Supervisor: Evgeny Rivkin Performed by: Maya.
Session 1.1. Windows Phone Topics Session 1.1 Windows Phone The Windows Phone Device.
Windows 8 empowers you to build apps that can seamlessly adapt to your customer’s environment using sensors and location.
UMDF Sensor Hardware (non-HID) Win32 app Metro style app Sensor Driver (3rd Party) Sensor Hardware (HID) Green = 3rd Party Black = Firmware.
Introduction to Computers Computer Applications. What is a Computer? An electronic machine that can  Receive data  Process data  Produce results 
Windows 2000 Memory Management Computing Department, Lancaster University, UK.
TouchDevelop Create apps for all your devices
Introduction to Computers
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Overview of Android North Carolina A&T State University Some slides contain material taken from the Google Android website.
What’s new for Windows 8 Devs Part 3 Lewis Benge Devices & Integration Team TBWA\Digital Arts Network DEV216.
Telesoft Partners Individuals in a Smart Device World October, 2004 Dave Nagel Chief Executive Officer.
Introduction to Computers Computer Applications. What is a Computer? An electronic machine that can  Receive data  Process data  Produce results 
Smart Phone Laboratory ECEN 489 Srinivas Shakkottai.
Broad set of multitasking features Balances user experience with phone health Familiar.NET programming model.
“Thanks guys for a great information packed day. head is spinning!” “Well done guys. Intense sessions” “This is the best ever JumpStart that I have.
10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Introduction to Android Overview of Android System Android Components Component.
Simple for you while still delighting your users.
Input Devices Ali El-Achmar Matt Leclair TEJ20. What Are Input Devices? ● Input Devices are data going into the computer from the user.
Leave Me Alone: App-level Protection Against
TapPrints: Your Finger Taps Have Fingerprints Emiliano Miluzzo*, Alex Varshavsky*, Suhrid Balakrishnan*, Romit R. Choudhury + * at&t Labs – Research, USA.
Storage SD CardData Enhancements (Data.XML) Device Discovery (Devices.Enumeration)Graphics Enhancements D2D/Dwrite (Win32) Streams (Input/Output/RandomAccess…)Sensors.
Computer main parts BY: JUAN DAVID MAYA STUDENT OF SYSTEM CESDE.
Google Glass.
IoT HoloLens Surface Hub Windows Desktop Windows Mobile Xbox ONE CORE OS ONE APP PLATFORM ONE STORE Windows 10.
Monday, August 31, 2015 CSCI 351 – Mobile Applications Development.
Monday, August 31, 2012 CSCI 333 – Systems Programming.
Group 3 Characterization of Wireless: Network layer and above.
Performance Less responsive to the user Consumes resources from foreground applications Impacts boot, shutdown, and logoff Reliability Memory.
Lecture 1: Getting Ready Topics: People and Course Overview Date: Jan 12, 2016.
// Creating Extensions in iOS Jesse Dietrichson |
Software and Hardware solutions for the blind and visually Impaired.
Segment CAGR Total Mobile PCs84,100114,850132,538162,958202,746234,612257, % % w/ Bluetooth37.2%32.1%34.8%37.5%38.9%40.1%40.5%
Federal CIO Council’s BYOD Toolkit. Reduce Costs Increase program productivity and effectiveness Adapt to changing workforce Improve user experience Drivers.
Building Windows Phone 7 Games and Applications Yes, yes! “Games and Applications” and not “Applications and Games” Content is under NDA – please do no.
L IVESCRIBE PENS A Short Description of How to Use Livescribe Pens Cathy Welder, Dartmouth College cCWCS – Active Learning in Organic Chemistry Cincinnati.
Advanced Windows 8 App Development Using JavaScript Jump Start Exam Prep M2: Hardware and Sensors Michael Palermo Microsoft Technical Evangelist.
Aava’s Open Platform Smartphone
Operating Systems Case Study
CSCI 351 – Mobile Applications Development
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Low memory and hardware constraints
Lecture 1: Getting Ready
Meet the new Surface Book 2 The most powerful Surface Book available
M220 Repair trouble shooting for L 陳福
Microsoft Build /9/2018 8:05 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Windows Phone multitasking
Building Apps for Windows Phone 8.1 Jump Start
12/5/2018 4:31 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Spencer Reardon and Kenneth Adams Jr.
Microsoft Build /18/ :04 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
CS149D Elements of Computer Science
Android Sensor Programming
Introducing Windows Operating Systems
Chapter 1: Introduction CSS503 Systems Programming
Presentation transcript:

 94% of apps peak at <150MB.  92% of apps average at <100MB. Component usage (ballpark) 512MB Phone 1GB Tablet 2GB Desktop Total physical Paging level BSP, OS, drivers, services425 OEM/MO service agents2240 VOIP or Background audio6680 VPN Foreground App Back-stack, Task completion, BG tasks, More FG apps

Task type Memory Cap MBLifetimeCPU Block in Batt-Sav Default Background Task1630 sec10%Y Long-Running Bluetooth16∞10%Y Extended Execution15010 min10%Y Background Audio Playback25∞10%N VOIP Active Call66∞70%N Modern Foreground App185∞70%N Example: 512MB device

Task typePriority Foreground App2 VOIP2 Background Audio2 VPN2 Background Transfer2 or 6* Bluetooth3 CachedFileUpdater/ShareDataPackage Task3 or 6* Task Completion4 Geofence-triggered Task5 Default Background Tasks6 App in the backstack7

Example: Background Audio Agent Sensor resources ResourceAllowed? Microphone  Camera  Proximity  Gyro  Compass  Accelerometer  Vibrator  Push  SpeechSynthesis  SpeechRecognition  Audio  InterruptiveUI 

NetworkInformation.NetworkStatusChanged += OnNetworkStatusChanged; Battery.AggregateBattery.ReportUpdated += OnBatteryReportUpdated; ; bool isGyro = Gyrometer.GetDefault() != null; bool isAccelero = Accelerometer.GetDefault() != null; bool isCompass = Compass.GetDefault() != null; MediaCapture mediaCapture = new MediaCapture(); bool isCamera = mediaCapture != null; BatteryReport batteryReport = Battery.AggregateBattery.GetReport(); if (batteryReport.Status != BatteryStatus.NotPresent) { int charge = (int)batteryReport.RemainingCapacityInMilliwattHours; } ConnectionProfile profile = NetworkInformation.GetInternetConnectionProfile(); ConnectionCost cost = profile.GetConnectionCost(); if (cost.Roaming || cost.OverDataLimit) ; // prompt for user opt-in. else if (cost.ApproachingDataLimit) ; // throttle behavior.

MemoryManager.AppMemoryUsageIncreased += OnAppMemoryUsageIncreased; MemoryManager.AppMemoryUsageDecreased += OnAppMemoryUsageDecreased; ulong usageLimit = MemoryManager.AppMemoryUsageLimit; ulong usage = MemoryManager.AppMemoryUsage; ulong headroom = usageLimit - usage; AppMemoryReport appReport = MemoryManager.GetAppMemoryReport(); ulong privateCommit = appReport.PrivateCommitUsage; ulong peakPrivate = appReport.PeakPrivateCommitUsage; ulong totalCommit = appReport.TotalCommitUsage; ulong commitLimit = appReport.TotalCommitLimit; ProcessMemoryReport processReport = MemoryManager.GetProcessMemoryReport(); ulong privateSet = processReport.PrivateWorkingSetUsage; ulong totalSet = processReport.TotalWorkingSetUsage;

BackgroundEnergyManager.RecentEnergyUsageIncreased += OnRecentEnergyUsageIncreased; BackgroundEnergyManager.RecentEnergyUsageReturnedToLow += OnRecentEnergyUsageReturnedToLow; uint usage = BackgroundEnergyManager.RecentEnergyUsage; uint usageLevel = BackgroundEnergyManager.RecentEnergyUsageLevel; if (usageLevel == BackgroundEnergyManager.NearTerminationUsageLevel) ;// Get ready to be terminated. else if (usageLevel == BackgroundEnergyManager.ExcessiveUsageLevel) ;// Throttle back urgently. else if (usageLevel == BackgroundEnergyManager.MaxAcceptableUsageLevel) ;// On the wall of shame. else if (usageLevel == BackgroundEnergyManager.NearMaxAcceptableUsageLevel) ;// Approaching the wall of shame. else if (usageLevel == BackgroundEnergyManager.LowUsageLevel) ;// Good citizen.