API Change Statistics

The percent change statistic reported for all elements in the "to" API Level specification is defined recursively as follows:

Percentage difference = 100 * (added + removed + 2*changed)
                        -----------------------------------
                        sum of public elements in BOTH APIs

where added is the number of packages added, removed is the number of packages removed, and changed is the number of packages changed. This definition is applied recursively for the classes and their program elements, so the value for a changed package will be less than 1, unless every class in that package has changed. The definition ensures that if all packages are removed and all new packages are added, the change will be 100%. Values are rounded here, so a value of 0% indicates a percentage difference of less than 0.5%.

The overall difference between the two APIs is approximately 2%.


Contents

Changed Packages
Sorted by percentage difference
Changed Classes and Interfaces
Sorted by percentage difference
Total of Differences
Listed by number and type

Changed Packages, Sorted by Percentage Difference

Percentage Difference Package
43 android.provider
14 android.content
13 android.webkit
10 dalvik.system
6 android.opengl
5 android.hardware
5 android.content.pm
5 android.location
4 java.util.concurrent.locks
4 android.app
4 android.telephony
3 android.media
3 android.text.format
2 android.database.sqlite
2 android.os
2 android.text.style
1 android.view
1 android.util
1 android.graphics.drawable
1 android.widget
<1 android.test.mock
<1 android.database
<1 android.inputmethodservice
<1 android.test
<1 android
<1 android.content.res
<1 java.util.concurrent
<1 java.net
<1 android.text
<1 android.view.animation
<1 java.util
<1 java.lang
<1 android.graphics

Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage
Difference
Class or Interface
73 android.media.AudioFormat
70 android.hardware.Camera.Parameters
62 android.provider.Contacts.Phones
57 android.provider.Contacts.SettingsColumns
55 android.provider.Contacts.People
52 android.provider.Contacts.GroupMembership
50 android.provider.Contacts
50 android.provider.Contacts.ContactMethods
50 android.provider.Contacts.ContactMethodsColumns
50 android.provider.Contacts.Extensions
50 android.provider.Contacts.ExtensionsColumns
50 android.provider.Contacts.Groups
50 android.provider.Contacts.GroupsColumns
50 android.provider.Contacts.Intents
50 android.provider.Contacts.Intents.Insert
50 android.provider.Contacts.Intents.UI
50 android.provider.Contacts.OrganizationColumns
50 android.provider.Contacts.Organizations
50 android.provider.Contacts.People.ContactMethods
50 android.provider.Contacts.People.Extensions
50 android.provider.Contacts.People.Phones
50 android.provider.Contacts.PeopleColumns
50 android.provider.Contacts.PhonesColumns
50 android.provider.Contacts.Photos
50 android.provider.Contacts.PhotosColumns
50 android.provider.Contacts.PresenceColumns
50 android.provider.Contacts.Settings
50 android.webkit.Plugin
50 android.webkit.PluginData
50 android.webkit.PluginList
36 android.webkit.WebViewClient
35 android.webkit.UrlInterceptRegistry
33 android.telephony.NeighboringCellInfo
30 android.app.Service
29 android.content.ContentResolver
26 android.os.BatteryManager
25 android.os.Debug.MemoryInfo
25 android.app.NotificationManager
25 android.webkit.UrlInterceptHandler
25 dalvik.system.AllocationLimitError
25 dalvik.system.PotentialDeadlockError
25 dalvik.system.StaleDexCacheError
22 android.view.MotionEvent
21 android.app.ActivityManager.RunningServiceInfo
20 android.widget.SimpleCursorTreeAdapter
18 android.graphics.drawable.BitmapDrawable
17 android.app.ActivityManager.RunningAppProcessInfo
17 android.widget.MediaController.MediaPlayerControl
16 android.app.LauncherActivity
16 android.view.SurfaceView
16 dalvik.system.TemporaryDirectory
16 dalvik.system.TouchDex
14 android.app.ActivityManager
14 android.app.IntentService
14 android.graphics.drawable.Drawable.ConstantState
14 android.text.format.Formatter
14 android.text.style.ImageSpan
14 android.view.HapticFeedbackConstants
14 android.view.KeyEvent.Callback
12 android.hardware.Camera
12 android.webkit.WebChromeClient
11 android.database.AbstractWindowedCursor
11 android.text.style.AbsoluteSizeSpan
10 android.test.InstrumentationTestCase
10 dalvik.system.VMStack
10 java.net.Socket
10 java.util.concurrent.BlockingQueue
9 android.content.pm.ServiceInfo
9 android.inputmethodservice.AbstractInputMethodService
9 android.os.HandlerThread
8 android.telephony.TelephonyManager
8 android.widget.AutoCompleteTextView
8 android.provider.MediaStore.Images.Thumbnails
8 android.graphics.drawable.NinePatchDrawable
7 android.os.Build.VERSION_CODES
7 android.widget.VideoView
7 android.media.AudioManager
6 java.lang.String
6 android.view.Window.Callback
6 java.util.Date
6 dalvik.system.VMRuntime
6 dalvik.system.Zygote
5 android.content.BroadcastReceiver
5 android.text.TextPaint
5 android.view.SurfaceHolder
5 android.content.Context
5 android.test.AndroidTestRunner
5 android.webkit.WebSettings
4 android.database.CursorWindow
4 android.view.KeyEvent
4 android.opengl.GLSurfaceView
3 android.content.pm.ProviderInfo
3 android.view.Surface
3 android.provider.Settings
3 android.content.res.Configuration
3 android.test.mock.MockPackageManager
3 android.view.ViewConfiguration
3 android.view.WindowManager.LayoutParams
3 android.R.style
3 android.location.LocationManager
2 android.app.SearchManager
2 android.app.Activity
2 android.telephony.PhoneStateListener
2 android.app.Dialog
2 android.content.pm.ResolveInfo
2 android.content.pm.PackageInfo
2 android.R.attr
2 android.content.Intent
2 android.content.pm.PackageManager
2 android.content.ContentProvider
2 android.graphics.PixelFormat
1 android.view.animation.Animation
1 android.database.sqlite.SQLiteDatabase
1 android.webkit.WebView
1 android.Manifest.permission
1 android.webkit.CallbackProxy
1 android.text.InputType
1 android.test.mock.MockContext
1 android.app.Notification
1 android.database.DatabaseUtils
1 android.content.ContextWrapper
1 android.telephony.PhoneNumberUtils
1 android.media.MediaPlayer
1 dalvik.system.VMDebug
1 android.content.pm.ActivityInfo
1 android.graphics.drawable.Drawable
1 android.view.View
<1 android.R.drawable
<1 android.provider.Settings.System
<1 android.text.format.DateUtils
<1 android.inputmethodservice.InputMethodService
<1 android.media.ToneGenerator

Total of Differences, by Number and Type

The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were removed, added or changed. The table includes only the highest-level program elements — that is, if a class with two methods was added, the number of methods added does not include those two methods, but the number of classes added does include that class.

Number of Differences
  Removals Additions Changes Total
Packages 0 3 33 36
Classes and Interfaces 0 85 132 217
Constructors 2 4 26 32
Methods 0 202 67 269
Fields 0 240 205 445
Total 2 534 463 999