API Change Statistics

The overall difference between API Levels u-dp1 and u-dp2 is approximately 3.21%.


Total of Differences, by Number and Type

The table below lists the numbers of program elements (packages, classes, constructors, methods, and fields) that were added, changed, or removed. 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.

Type Additions Changes Removals Total
Packages 6 52 3 61
Classes and Interfaces 52 180 9 241
Constructors 13 4 6 23
Methods 324 17 71 412
Fields 415 7 30 452
Total 810 260 119 1189

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
67 android.net.http
50 android.app.sdksandbox.sdkprovider
33 android.service.chooser
24 android.hardware.input
22 android.credentials
21 android.net.nsd
20 android.service.credentials
16 android.view.autofill
15 android.speech
11 android.content.om
10 android.media.tv.interactive
10 android.hardware.display
9 android.app.admin
8 android.companion
6 android.window
5 android.media.tv
5 android.media.projection
4 android.telecom
4 android.service.quickaccesswallet
3 android.content.pm
3 android.app.job
2 android.graphics
2 android.net.wifi.aware
2 android.net.wifi
1 android.view.inputmethod
1 android
1 android.bluetooth
1 android.view
1 android.net.vcn
1 android.location
<1 android.bluetooth.le
<1 android.media
<1 android.app
<1 android.content
<1 android.nfc
<1 android.service.voice
<1 android.accessibilityservice
<1 android.service.autofill
<1 android.app.sdksandbox
<1 android.view.contentcapture
<1 android.telephony.ims
<1 android.hardware.camera2.params
<1 android.net
<1 android.telephony
<1 android.service.notification
<1 android.net.wifi.p2p
<1 android.os
<1 android.opengl
<1 android.util
<1 android.view.accessibility
<1 android.widget
<1 android.provider

* See Calculation of Change Percentages, below.


Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage
Difference*
Class or Interface
100 android.graphics.MeshSpecification
71 android.content.pm.PackageInstaller.InstallConstraints.Builder
67 android.media.RouteListingPreference.Item
60 android.credentials.GetCredentialRequest.Builder
60 android.graphics.MeshSpecification.Attribute
60 android.service.credentials.BeginGetCredentialResponse
55 android.content.pm.PackageInstaller.InstallConstraints
50 android.graphics.MeshSpecification.Varying
50 android.view.WindowAnimationFrameStats
45 android.media.RouteListingPreference.Item.Builder
44 android.bluetooth.BluetoothSocket
42 android.telecom.CallEventCallback
37 android.net.wifi.WifiConfiguration.KeyMgmt
36 android.R.color
36 android.media.tv.TableRequest
33 android.content.om.OverlayManager
33 android.credentials.GetCredentialRequest
33 android.net.nsd.NsdManager.ResolveListener
33 android.view.View.OnLongClickListener
28 android.media.tv.TableResponse
27 android.media.tv.interactive.TvInteractiveAppView.TvInteractiveAppCallback
26 android.net.wifi.aware.DiscoverySession
25 android.app.sdksandbox.sdkprovider.SdkSandboxController
25 android.content.pm.PackageInstaller.InstallConstraintsResult
25 android.location.GnssMeasurementsEvent.Builder
25 android.media.tv.TimelineRequest
25 android.service.credentials.GetCredentialRequest
24 android.media.MediaRoute2Info
23 android.media.tv.interactive.TvInteractiveAppService
23 android.content.om.OverlayManagerTransaction
23 android.net.nsd.NsdManager
23 android.net.wifi.aware.DiscoverySessionCallback
22 android.service.credentials.BeginGetCredentialRequest.Builder
21 android.service.quickaccesswallet.WalletCard
21 android.speech.SpeechRecognizer
21 android.view.HapticFeedbackConstants
20 android.media.RouteListingPreference.Builder
20 android.media.projection.MediaProjectionConfig
20 android.media.tv.interactive.TvInteractiveAppService.Session
20 android.service.credentials.BeginCreateCredentialRequest
20 android.service.quickaccesswallet.WalletCard.Builder
19 android.companion.CompanionDeviceManager
18 android.view.SurfaceView
17 android.credentials.CreateCredentialRequest
17 android.graphics.YuvImage
16 android.media.tv.TvView.TvInputCallback
16 android.speech.RecognitionService
15 android.service.credentials.BeginGetCredentialOption
15 android.service.credentials.CredentialEntry
14 android.app.ActivityOptions
14 android.bluetooth.BluetoothA2dp
14 android.credentials.CredentialManager
14 android.graphics.BitmapShader
14 android.service.credentials.CallingAppInfo
14 android.telecom.CallControl
13 android.media.tv.interactive.TvInteractiveAppView
13 android.media.tv.interactive.TvInteractiveAppServiceInfo
12 android.companion.CompanionDeviceService
12 android.location.GnssMeasurementsEvent
12 android.media.RouteListingPreference
12 android.Manifest.permission
12 android.app.job.JobService
11 android.graphics.Mesh
11 android.service.autofill.FillResponse.Builder
11 android.content.pm.PackageInstaller.SessionParams
11 android.credentials.CreateCredentialException
11 android.hardware.input.InputManager
11 android.net.nsd.NsdServiceInfo
10 android.telephony.CarrierConfigManager.ImsSms
10 android.media.tv.TvInputService.Session
10 android.net.wifi.aware.WifiAwareManager
10 android.nfc.NfcAdapter
10 android.media.AudioPresentation
10 android.telecom.CallEndpointException
9 android.app.job.JobScheduler
9 android.media.MediaCodec.Callback
9 android.media.tv.TvView
9 android.net.wifi.MloLink
9 android.service.credentials.BeginCreateCredentialResponse
9 android.view.WindowManager
8 android.speech.RecognizerIntent
8 android.os.PowerManager
7 android.accessibilityservice.MagnificationConfig.Builder
7 android.bluetooth.le.AdvertiseSettings.Builder
7 android.hardware.display.DisplayManager
7 android.view.AttachedSurfaceControl
7 android.view.SurfaceControlViewHost
7 android.net.wifi.aware.Characteristics
7 android.net.Ikev2VpnProfile.Builder
7 android.service.voice.VoiceInteractionService
6 android.telephony.PhysicalChannelConfig
6 android.app.admin.PreferentialNetworkServiceConfig.Builder
6 android.media.tv.AdRequest
6 android.net.Ikev2VpnProfile
6 android.net.vcn.VcnGatewayConnectionConfig
6 android.service.credentials.CredentialProviderService
5 android.app.job.JobServiceEngine
5 android.companion.AssociationInfo
5 android.app.admin.DeviceAdminInfo
5 android.hardware.camera2.params.OutputConfiguration
5 android.net.vcn.VcnGatewayConnectionConfig.Builder
5 android.view.SurfaceControl.Transaction
5 android.media.tv.TvInputManager
5 android.opengl.Matrix
5 android.bluetooth.BluetoothCodecConfig
5 android.content.BroadcastReceiver
4 android.accessibilityservice.MagnificationConfig
4 android.app.StatusBarManager
4 android.content.pm.PackageInstaller.SessionInfo
4 android.os.BugreportManager.BugreportCallback
4 android.view.inputmethod.InputMethodInfo
4 android.bluetooth.BluetoothStatusCodes
4 android.bluetooth.le.AdvertisingSetParameters.Builder
4 android.bluetooth.le.ScanSettings
4 android.content.pm.PackageInstaller.Session
4 android.media.MediaCodec.CryptoException
4 android.media.tv.AdResponse
4 android.speech.RecognitionListener
4 android.telecom.CallException
4 android.view.Display
4 android.net.wifi.WifiManager
4 android.media.tv.TvRecordingClient
4 android.service.autofill.FillRequest
4 android.speech.RecognitionService.Callback
4 android.view.Display.HdrCapabilities
3 android.app.admin.PreferentialNetworkServiceConfig
3 android.media.MediaRouter2.RoutingController
3 android.media.tv.TvInputService
3 android.telephony.ims.SipDetails
3 android.net.wifi.p2p.WifiP2pManager
3 android.bluetooth.le.AdvertiseSettings
3 android.media.MediaRouter2
3 android.view.contentcapture.ContentCaptureSession
2 android.app.ApplicationExitInfo
2 android.media.MediaRoute2Info.Builder
2 android.service.autofill.Dataset.Builder
2 android.content.RestrictionsManager
2 android.app.UiAutomation
2 android.media.MediaCodecInfo.CodecProfileLevel
2 android.bluetooth.le.AdvertisingSetParameters
2 android.graphics.Bitmap
2 android.view.ViewConfiguration
1 android.app.sdksandbox.SdkSandboxManager
1 android.widget.TextView
1 android.content.Context
1 android.media.AudioTrack
1 android.content.pm.ServiceInfo
1 android.location.GnssCapabilities.Builder
1 android.view.PointerIcon
1 android.location.GnssCapabilities
1 android.view.WindowManager.LayoutParams
1 android.util.TypedValue
1 android.app.job.JobParameters
1 android.app.Activity
1 android.os.UserManager
1 android.util.DisplayMetrics
1 android.app.PendingIntent
1 android.media.tv.interactive.TvInteractiveAppManager
1 android.view.autofill.AutofillManager
1 android.bluetooth.BluetoothGatt
1 android.service.notification.NotificationListenerService
1 android.telephony.TelephonyManager
1 android.content.Intent
1 android.net.wifi.WifiInfo
<1 android.view.inputmethod.InputMethodManager
<1 android.view.accessibility.AccessibilityNodeInfo
<1 android.app.admin.DevicePolicyManager
<1 android.provider.Settings
<1 android.service.voice.VoiceInteractionSession
<1 android.media.AudioManager
<1 android.app.AppOpsManager
<1 android.media.MediaCodec
<1 android.app.NotificationManager
<1 android.telephony.CarrierConfigManager
<1 android.content.pm.PackageManager
<1 android.view.MotionEvent
<1 android.telecom.TelecomManager
<1 android.telephony.SmsManager
<1 android.telephony.DataFailCause
<1 android.R.attr

* See Calculation of Change Percentages, below.


Calculation of Change Percentages

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%.