API Change Statistics

The overall difference between API Levels 33 and u-dp2 is approximately 7.84%.


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 23 93 0 116
Classes and Interfaces 174 384 1 559
Constructors 22 4 0 26
Methods 794 80 17 891
Fields 893 32 0 925
Total 1906 593 18 2517

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
100 android.adservices
94 android.app.sdksandbox
67 android.net.http
33 android.service.chooser
30 android.view.autofill
29 android.media.projection
28 android.view.inputmethod
25 dalvik.system
24 android.speech
24 android.hardware.input
23 android.window
22 android.app.job
21 android.net.nsd
20 android.os.ext
12 android.net.vcn
12 android.telecom
11 android.app.admin
11 android.media.tv.interactive
11 android.companion
10 android.net.wifi.aware
10 android.app.appsearch
10 android.hardware.display
9 android.hardware.camera2.params
9 android.telephony.ims.stub
7 android.nfc
7 android.net.wifi.rtt
7 android.location
7 android.text
6 android.service.quicksettings
6 android.graphics
5 android.media.tv
5 android.content.pm
5 java.util.zip
4 android.service.quickaccesswallet
4 android.net.wifi
4 android.icu.number
4 android.app.role
4 android.telephony.ims
3 android.view
3 java.time
3 java.nio
3 android.hardware.camera2
3 android.media
2 android.view.accessibility
2 android.security.identity
2 java.lang
2 android.app
2 android
2 java.util.regex
2 android.content.res.loader
2 android.os.strictmode
1 android.service.wallpaper
1 android.service.controls
1 android.hardware.lights
1 java.util
1 android.telephony
1 java.security
1 android.icu.util
1 android.bluetooth
1 android.net.wifi.hotspot2.pps
<1 android.bluetooth.le
<1 java.io
<1 java.util.stream
<1 android.net.wifi.p2p
<1 android.content
<1 android.os
<1 android.accessibilityservice
<1 android.text.style
<1 android.service.voice
<1 java.time.format
<1 java.util.concurrent.locks
<1 android.service.autofill
<1 android.graphics.fonts
<1 android.service.notification
<1 android.view.contentcapture
<1 android.inputmethodservice
<1 java.util.concurrent
<1 android.net
<1 android.icu.lang
<1 android.hardware
<1 java.lang.invoke
<1 android.text.method
<1 android.provider
<1 java.time.chrono
<1 android.content.res
<1 android.opengl
<1 android.security
<1 java.text
<1 android.util
<1 java.nio.file
<1 android.widget
<1 android.icu.text
<1 android.system

* See Calculation of Change Percentages, below.


Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage
Difference*
Class or Interface
100 android.app.appsearch.AppSearchSchema.LongPropertyConfig
100 android.graphics.RecordingCanvas
80 android.app.sdksandbox.SdkSandboxManager
66 android.location.GnssCapabilities.Builder
63 android.location.GnssCapabilities
57 android.app.job.JobScheduler
52 android.location.Criteria
50 android.media.MediaCryptoException
50 android.media.MediaDrmException
50 android.media.MediaDrmResetException
50 android.view.WindowAnimationFrameStats
50 android.view.WindowMetrics
50 java.security.PrivateKey
50 java.security.PublicKey
45 android.net.wifi.rtt.WifiRttManager
44 android.media.MediaRouter2.RouteCallback
44 android.bluetooth.BluetoothSocket
42 android.net.vcn.VcnCellUnderlyingNetworkTemplate
42 android.net.wifi.aware.IdentityChangedListener
40 android.app.job.JobService
37 android.net.wifi.WifiConfiguration.KeyMgmt
36 android.R.color
36 android.media.tv.TableRequest
35 android.companion.CompanionDeviceManager
33 android.media.projection.MediaProjection.Callback
33 android.net.nsd.NsdManager.ResolveListener
33 android.net.wifi.aware.DiscoverySession
33 android.os.IBinder.DeathRecipient
33 android.telephony.CarrierConfigManager.ImsSms
33 android.view.View.OnLongClickListener
33 java.util.NoSuchElementException
31 android.media.tv.interactive.TvInteractiveAppView.TvInteractiveAppCallback
28 android.app.job.JobServiceEngine
28 android.media.tv.TableResponse
26 android.media.MediaRoute2Info
26 android.app.appsearch.AppSearchSchema.StringPropertyConfig
25 android.media.tv.TimelineRequest
25 android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder
25 java.io.WriteAbortedException
24 android.telecom.InCallService
23 android.app.LocaleConfig
23 android.media.tv.interactive.TvInteractiveAppService
23 android.speech.SpeechRecognizer
23 android.media.AudioTimestamp
23 android.net.nsd.NsdManager
23 android.net.vcn.VcnGatewayConnectionConfig
22 android.media.tv.interactive.TvInteractiveAppService.Session
21 android.service.quickaccesswallet.WalletCard
21 android.speech.RecognitionService
21 android.view.HapticFeedbackConstants
20 android.app.LocaleManager
20 android.app.Notification.CallStyle
20 android.icu.number.FractionPrecision
20 android.media.SoundPool.Builder
20 android.media.projection.MediaProjectionManager
20 android.net.wifi.aware.DiscoverySessionCallback
20 android.os.ext.SdkExtensions
20 android.provider.MediaStore.PickerMediaColumns
20 android.service.quickaccesswallet.WalletCard.Builder
20 android.view.WindowManager
20 java.util.zip.Checksum
19 android.Manifest.permission
18 android.view.SurfaceView
18 android.app.ActivityOptions
17 android.graphics.YuvImage
17 android.net.vcn.VcnGatewayConnectionConfig.Builder
16 android.hardware.camera2.params.ExtensionSessionConfiguration
16 android.media.MediaDrm.MediaDrmStateException
16 android.media.tv.TvView.TvInputCallback
16 android.net.wifi.aware.ServiceDiscoveryInfo
16 android.text.style.DrawableMarginSpan
16 android.text.style.IconMarginSpan
16 java.util.zip.Adler32
16 java.util.zip.CRC32
16 java.lang.Character.UnicodeBlock
14 android.media.tv.interactive.TvInteractiveAppView
14 android.security.identity.IdentityCredential
14 android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder
14 android.graphics.BitmapShader
14 android.hardware.camera2.params.BlackLevelPattern
14 android.hardware.camera2.params.Capability
14 android.location.GnssMeasurementsEvent
14 android.location.GnssMeasurementsEvent.Builder
14 android.net.vcn.VcnConfig.Builder
14 android.net.wifi.aware.WifiAwareManager
14 android.os.PerformanceHintManager.Session
14 android.view.autofill.AutofillId
14 android.view.inputmethod.CursorAnchorInfo.Builder
14 java.lang.IndexOutOfBoundsException
14 java.nio.MappedByteBuffer
13 android.content.pm.PackageInstaller.SessionParams
13 android.content.pm.ServiceInfo
13 android.media.tv.interactive.TvInteractiveAppServiceInfo
13 android.view.VelocityTracker
12 android.app.appsearch.SearchSpec.Builder
12 android.net.wifi.aware.Characteristics
12 android.companion.AssociationInfo
12 android.companion.CompanionDeviceService
12 android.media.MediaRoute2Info.Builder
12 android.view.inputmethod.InputConnection
12 java.security.Key
12 android.content.pm.PackageInstaller.Session
12 android.net.wifi.rtt.ResponderConfig
12 java.time.Clock
11 android.telephony.SmsManager
11 android.nfc.NfcAdapter
11 android.service.autofill.FillResponse.Builder
11 java.util.stream.Stream
11 android.app.appsearch.GetByDocumentIdRequest
11 android.app.appsearch.SearchSpec
11 android.hardware.camera2.CameraExtensionCharacteristics
11 android.hardware.input.InputManager
11 android.media.AudioDescriptor
11 android.net.nsd.NsdServiceInfo
11 android.net.vcn.VcnConfig
11 android.net.wifi.WifiNetworkSpecifier
11 android.view.inputmethod.InlineSuggestionsRequest.Builder
10 android.telephony.NetworkRegistrationInfo
10 android.media.tv.TvInputService.Session
10 android.provider.CloudMediaProviderContract.MediaColumns
10 android.media.AudioPresentation
10 android.hardware.lights.Light
10 android.media.MediaDrm.SessionException
10 android.widget.EditText
9 android.hardware.camera2.params.SessionConfiguration
9 android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder
9 android.app.appsearch.GetByDocumentIdRequest.Builder
9 android.app.appsearch.SearchResult
9 android.app.appsearch.SearchResult.Builder
9 android.hardware.camera2.CameraExtensionSession
9 android.location.GnssMeasurementRequest
9 android.media.MediaCodec.Callback
9 android.media.tv.TvView
9 android.net.wifi.MloLink
9 android.security.identity.CredentialDataResult
9 android.service.controls.ControlsProviderService
9 android.telephony.SignalThresholdInfo.Builder
9 android.telephony.ims.stub.ImsRegistrationImplBase
9 java.util.ServiceLoader
8 android.speech.RecognizerIntent
8 android.telephony.CarrierConfigManager.ImsSs
8 android.content.pm.PackageInstaller
8 android.text.Selection
8 java.lang.Runtime
8 android.os.PowerManager
8 android.net.wifi.rtt.RangingResult
8 android.service.quicksettings.TileService
8 android.view.inputmethod.InputMethodSubtype
8 java.nio.Buffer
8 java.util.Objects
8 android.view.Display.HdrCapabilities
7 android.accessibilityservice.MagnificationConfig.Builder
7 android.app.GameManager
7 android.bluetooth.le.AdvertiseSettings.Builder
7 android.companion.AssociationRequest
7 android.hardware.display.DisplayManager
7 android.net.wifi.p2p.WifiP2pConfig
7 android.view.AttachedSurfaceControl
7 android.view.SurfaceControlViewHost
7 android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder
7 java.lang.CharSequence
7 android.net.wifi.WifiManager
7 android.net.Ikev2VpnProfile.Builder
7 android.service.voice.VoiceInteractionService
7 android.view.SurfaceControl.Transaction
7 java.util.regex.Matcher
6 android.telephony.PhysicalChannelConfig
6 java.util.concurrent.Executors
6 android.app.admin.PreferentialNetworkServiceConfig.Builder
6 android.content.res.loader.ResourcesProvider
6 android.hardware.camera2.CameraExtensionSession.ExtensionCaptureCallback
6 android.media.MediaRouter2
6 android.media.tv.AdRequest
6 android.net.Ikev2VpnProfile
6 android.net.wifi.aware.SubscribeConfig
6 android.telephony.ims.ImsRegistrationAttributes
6 android.view.SurfaceControlViewHost.SurfacePackage
6 android.view.accessibility.AccessibilityManager
6 java.util.Formatter
6 android.text.Layout
6 dalvik.system.DexFile
6 java.util.concurrent.CompletionStage
6 android.view.inputmethod.EditorInfo
5 android.app.appsearch.SearchResult.MatchInfo
5 android.content.pm.InstallSourceInfo
5 android.graphics.Path
5 android.hardware.camera2.CameraCaptureSession.CaptureCallback
5 android.net.wifi.aware.PublishConfig
5 android.net.wifi.p2p.WifiP2pConfig.Builder
5 android.view.Display.Mode
5 java.util.DoubleSummaryStatistics
5 java.util.concurrent.locks.LockSupport
5 android.app.admin.DeviceAdminInfo
5 android.net.wifi.WifiEnterpriseConfig
5 java.lang.Class
5 android.location.Location
5 android.telephony.SignalThresholdInfo
5 android.hardware.DataSpace
5 android.view.Display
5 android.telephony.CarrierConfigManager
5 android.app.ActivityManager.MemoryInfo
5 android.net.wifi.rtt.ResponderConfig.Builder
5 android.view.WindowInsets.Type
5 java.util.Scanner
5 android.media.tv.TvInputManager
5 android.telecom.Conference
5 android.opengl.Matrix
5 android.net.wifi.p2p.WifiP2pManager
5 android.content.BroadcastReceiver
5 android.net.wifi.hotspot2.pps.Credential
5 android.os.Vibrator
5 android.service.quicksettings.Tile
5 java.lang.StrictMath
4 android.content.pm.PackageInstaller.SessionInfo
4 java.time.LocalDate
4 android.telephony.CarrierConfigManager.Iwlan
4 android.app.WallpaperManager
4 android.accessibilityservice.MagnificationConfig
4 android.app.StatusBarManager
4 android.media.AudioProfile
4 android.media.AudioTrack.Builder
4 android.os.BugreportManager.BugreportCallback
4 android.view.inputmethod.CursorAnchorInfo
4 java.util.Currency
4 android.view.inputmethod.InputMethodInfo
4 java.nio.DoubleBuffer
4 java.nio.FloatBuffer
4 java.nio.IntBuffer
4 java.nio.LongBuffer
4 java.nio.ShortBuffer
4 android.telephony.TelephonyManager
4 java.nio.CharBuffer
4 android.app.appsearch.AppSearchSession
4 android.app.job.JobWorkItem
4 android.app.role.RoleManager
4 android.bluetooth.BluetoothStatusCodes
4 android.bluetooth.le.AdvertisingSetParameters.Builder
4 android.bluetooth.le.ScanSettings
4 android.icu.text.UnicodeSetIterator
4 android.media.MediaCodec.CryptoException
4 android.media.tv.AdResponse
4 android.net.wifi.aware.PublishConfig.Builder
4 android.net.wifi.aware.SubscribeConfig.Builder
4 android.speech.RecognitionListener
4 android.telephony.TelephonyDisplayInfo
4 android.view.ViewConfiguration
4 android.view.autofill.AutofillManager
4 android.app.UiAutomation
4 android.icu.number.Precision
4 android.media.tv.TvRecordingClient
4 android.os.StrictMode.ThreadPolicy.Builder
4 android.service.autofill.FillRequest
4 android.speech.RecognitionService.Callback
4 android.text.method.BaseMovementMethod
4 android.view.PixelCopy
3 android.service.wallpaper.WallpaperService.Engine
3 android.view.ViewTreeObserver
3 android.content.Context
3 android.app.admin.PreferentialNetworkServiceConfig
3 android.app.job.JobInfo.Builder
3 android.media.MediaRouter2.RoutingController
3 android.media.tv.TvInputService
3 java.nio.file.Path
3 android.media.MediaCodecInfo.CodecProfileLevel
3 android.app.AlarmManager
3 android.bluetooth.le.AdvertiseSettings
3 android.telephony.CellSignalStrengthNr
3 android.view.WindowInsets.Builder
3 android.view.accessibility.AccessibilityEvent
3 java.util.PriorityQueue
3 android.media.AudioManager
3 java.util.concurrent.CompletableFuture
3 android.app.admin.SecurityLog
3 android.inputmethodservice.InputMethodService
3 android.net.wifi.WifiNetworkSpecifier.Builder
3 android.telecom.CallAudioState
3 java.io.InputStream
3 java.time.chrono.Chronology
3 android.hardware.camera2.CaptureResult
3 android.view.accessibility.AccessibilityWindowInfo
3 android.app.admin.DevicePolicyManager
3 android.icu.lang.UProperty
3 android.app.job.JobParameters
3 android.view.contentcapture.ContentCaptureSession
2 android.app.ApplicationExitInfo
2 android.view.inputmethod.InputMethodManager
2 android.media.AudioFormat
2 android.graphics.fonts.FontStyle
2 android.service.autofill.Dataset.Builder
2 android.view.accessibility.AccessibilityNodeInfo
2 android.telecom.Connection
2 java.lang.String
2 android.util.DisplayMetrics
2 android.hardware.camera2.params.OutputConfiguration
2 android.telephony.SubscriptionManager
2 java.text.DecimalFormatSymbols
2 android.content.RestrictionsManager
2 android.accessibilityservice.AccessibilityService
2 android.service.notification.NotificationListenerService
2 android.graphics.Typeface
2 java.time.format.DateTimeFormatterBuilder
2 java.util.regex.Pattern
2 android.os.UserManager
2 java.lang.invoke.MethodHandles
2 android.app.Activity
2 android.util.TypedValue
2 android.widget.TextView
2 android.view.WindowManager.LayoutParams
2 android.telecom.PhoneAccount
2 android.view.Surface
2 android.hardware.camera2.CameraMetadata
2 android.hardware.camera2.CaptureRequest
2 android.view.MotionEvent
2 android.R.id
2 android.bluetooth.le.AdvertisingSetParameters
2 android.graphics.Bitmap
2 android.content.res.Configuration
2 android.provider.ContactsContract.Contacts
2 android.security.KeyStoreException
2 android.text.style.TextAppearanceSpan
1 android.graphics.ImageFormat
1 android.app.job.JobInfo
1 android.content.ClipDescription
1 android.media.AudioTrack
1 java.nio.ByteBuffer
1 java.util.ArrayDeque
1 android.location.LocationManager
1 android.accessibilityservice.AccessibilityServiceInfo
1 android.view.PointerIcon
1 java.lang.Character
1 android.hardware.camera2.CameraCharacteristics
1 android.app.Service
1 android.content.Intent
1 android.icu.util.MeasureUnit
1 android.view.WindowInsets
1 android.provider.ContactsContract.CommonDataKinds.Phone
1 android.os.Build.VERSION_CODES
1 android.content.pm.PackageManager
1 android.app.PendingIntent
1 android.media.MediaCas
1 android.media.MediaCodec
1 android.media.tv.interactive.TvInteractiveAppManager
1 android.bluetooth.BluetoothCodecConfig
1 android.content.pm.PackageInfo
1 android.bluetooth.BluetoothGatt
1 android.hardware.HardwareBuffer
1 android.provider.Settings
1 java.lang.Math
1 java.io.PrintStream
1 android.content.pm.ActivityInfo
1 android.media.AudioDeviceInfo
1 java.time.format.DateTimeFormatter
1 android.icu.util.VersionInfo
1 android.net.wifi.WifiInfo
1 android.icu.lang.UCharacter.UnicodeBlock
1 android.os.Process
1 android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction
1 java.time.OffsetTime
<1 android.view.KeyEvent
<1 java.lang.StringBuffer
<1 java.lang.StringBuilder
<1 android.provider.Settings.Global
<1 android.view.View
<1 android.telecom.Call
<1 android.service.voice.VoiceInteractionSession
<1 android.telecom.Call.Details
<1 java.util.Locale
<1 android.os.Debug
<1 android.app.AppOpsManager
<1 android.app.NotificationManager
<1 android.graphics.Paint
<1 android.provider.Settings.Secure
<1 android.R.attr
<1 android.telecom.TelecomManager
<1 android.icu.text.UnicodeSet
<1 android.media.MediaFormat
<1 android.icu.lang.UScript
<1 android.graphics.Canvas
<1 android.icu.lang.UCharacter
<1 android.media.MediaPlayer
<1 android.os.Parcel
<1 android.app.Notification
<1 android.telephony.DataFailCause
<1 android.system.OsConstants

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