API Change Statistics

The overall difference between API Levels 33 and u-dp1 is approximately 6.32%.


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 20 80 0 100
Classes and Interfaces 132 309 1 442
Constructors 16 4 0 20
Methods 543 69 8 620
Fields 517 26 0 543
Total 1228 488 9 1725

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
100 android.adservices
94 android.app.sdksandbox
29 android.media.projection
26 android.view.inputmethod
25 dalvik.system
20 android.os.ext
19 android.app.job
16 android.window
14 android.view.autofill
13 android.telecom
11 android.net.vcn
10 android.app.appsearch
9 android.net.wifi.aware
9 android.speech
9 android.app.admin
9 android.companion
9 android.hardware.camera2.params
9 android.telephony.ims.stub
7 android.net.wifi.rtt
7 android.location
7 android.nfc
7 android.text
6 android.service.quicksettings
5 android.content.pm
5 android.graphics
5 java.util.zip
4 android.icu.number
4 android.app.role
4 android.telephony.ims
3 java.time
3 java.nio
3 android.hardware.camera2
2 android.view.accessibility
2 android.media
2 android.security.identity
2 java.lang
2 java.util.regex
2 android.view
2 android.content.res.loader
2 android.os.strictmode
1 android.net.wifi
1 android.service.wallpaper
1 android.service.controls
1 android.app
1 android.media.tv.interactive
1 android.hardware.lights
1 java.util
1 java.security
1 android.icu.util
1 android.telephony
1 android.net.wifi.hotspot2.pps
<1 java.io
<1 java.util.stream
<1 android.net.wifi.p2p
<1 android.os
<1 android.text.style
<1 android.bluetooth
<1 android
<1 java.time.format
<1 java.util.concurrent.locks
<1 android.graphics.fonts
<1 android.inputmethodservice
<1 java.util.concurrent
<1 android.icu.lang
<1 android.hardware
<1 android.accessibilityservice
<1 java.lang.invoke
<1 android.text.method
<1 android.provider
<1 android.service.notification
<1 java.time.chrono
<1 android.content.res
<1 android.security
<1 java.text
<1 java.nio.file
<1 android.content
<1 android.widget
<1 android.icu.text
<1 android.util
<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
79 android.app.sdksandbox.SdkSandboxManager
65 android.location.GnssCapabilities.Builder
62 android.location.GnssCapabilities
52 android.location.Criteria
52 android.app.job.JobScheduler
50 android.media.MediaCryptoException
50 android.media.MediaDrmException
50 android.media.MediaDrmResetException
50 android.view.WindowMetrics
50 java.security.PrivateKey
50 java.security.PublicKey
45 android.net.wifi.rtt.WifiRttManager
44 android.media.MediaRouter2.RouteCallback
42 android.net.vcn.VcnCellUnderlyingNetworkTemplate
42 android.net.wifi.aware.IdentityChangedListener
33 android.media.projection.MediaProjection.Callback
33 android.os.IBinder.DeathRecipient
33 android.telephony.CarrierConfigManager.ImsSms
33 java.util.NoSuchElementException
29 android.app.job.JobService
29 android.companion.CompanionDeviceManager
27 android.net.wifi.aware.DiscoverySession
26 android.app.appsearch.AppSearchSchema.StringPropertyConfig
25 android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder
25 java.io.WriteAbortedException
24 android.telecom.InCallService
23 android.app.LocaleConfig
23 android.app.job.JobServiceEngine
23 android.media.AudioTimestamp
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.os.ext.SdkExtensions
20 android.provider.MediaStore.PickerMediaColumns
20 java.util.zip.Checksum
16 android.hardware.camera2.params.ExtensionSessionConfiguration
16 android.media.MediaDrm.MediaDrmStateException
16 android.net.vcn.VcnGatewayConnectionConfig
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
15 android.content.pm.ServiceInfo
14 android.security.identity.IdentityCredential
14 android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder
14 android.bluetooth.BluetoothA2dp
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.os.PerformanceHintManager.Session
14 android.view.autofill.AutofillId
14 android.view.inputmethod.CursorAnchorInfo.Builder
14 java.lang.IndexOutOfBoundsException
14 java.nio.MappedByteBuffer
13 android.view.VelocityTracker
12 android.app.appsearch.SearchSpec.Builder
12 android.net.vcn.VcnGatewayConnectionConfig.Builder
12 android.net.wifi.aware.DiscoverySessionCallback
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 java.util.stream.Stream
11 android.telephony.SmsManager
11 android.app.appsearch.GetByDocumentIdRequest
11 android.app.appsearch.SearchSpec
11 android.hardware.camera2.CameraExtensionCharacteristics
11 android.media.AudioDescriptor
11 android.net.vcn.VcnConfig
11 android.net.wifi.WifiNetworkSpecifier
11 android.view.WindowManager
11 android.view.inputmethod.InlineSuggestionsRequest.Builder
10 android.telephony.NetworkRegistrationInfo
10 android.provider.CloudMediaProviderContract.MediaColumns
10 android.hardware.lights.Light
10 android.media.MediaDrm.SessionException
10 android.widget.EditText
9 android.hardware.camera2.params.SessionConfiguration
9 android.media.MediaRoute2Info.Builder
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.net.wifi.aware.WifiAwareManager
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.telephony.CarrierConfigManager.ImsSs
8 android.content.pm.PackageInstaller
8 android.text.Selection
8 java.lang.Runtime
8 android.Manifest.permission
8 android.net.wifi.rtt.RangingResult
8 android.service.quicksettings.TileService
8 android.view.inputmethod.InputMethodSubtype
8 java.nio.Buffer
8 java.util.Objects
7 android.app.GameManager
7 android.companion.AssociationRequest
7 android.media.tv.interactive.TvInteractiveAppView.TvInteractiveAppCallback
7 android.net.wifi.p2p.WifiP2pConfig
7 android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder
7 java.lang.CharSequence
7 java.util.regex.Matcher
6 java.util.concurrent.Executors
6 android.companion.AssociationInfo
6 android.content.res.loader.ResourcesProvider
6 android.hardware.camera2.CameraExtensionSession.ExtensionCaptureCallback
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 android.bluetooth.BluetoothCodecConfig
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.content.pm.PackageInstaller.SessionParams
5 android.net.wifi.WifiEnterpriseConfig
5 java.lang.Class
5 android.location.Location
5 android.net.wifi.aware.Characteristics
5 android.telephony.SignalThresholdInfo
5 android.hardware.DataSpace
5 android.app.ActivityManager.MemoryInfo
5 android.net.wifi.rtt.ResponderConfig.Builder
5 android.speech.RecognitionService
5 android.view.WindowInsets.Type
5 java.util.Scanner
5 android.telecom.Conference
5 android.net.wifi.hotspot2.pps.Credential
5 android.os.Vibrator
5 android.service.quicksettings.Tile
5 java.lang.StrictMath
4 java.time.LocalDate
4 android.telephony.CarrierConfigManager.Iwlan
4 android.app.WallpaperManager
4 android.media.AudioProfile
4 android.media.AudioTrack.Builder
4 android.view.inputmethod.CursorAnchorInfo
4 java.util.Currency
4 android.telephony.CarrierConfigManager
4 android.media.MediaCodec.CryptoException
4 java.nio.DoubleBuffer
4 java.nio.FloatBuffer
4 java.nio.IntBuffer
4 java.nio.LongBuffer
4 java.nio.ShortBuffer
4 java.nio.CharBuffer
4 android.app.appsearch.AppSearchSession
4 android.app.job.JobWorkItem
4 android.app.role.RoleManager
4 android.icu.text.UnicodeSetIterator
4 android.net.wifi.aware.PublishConfig.Builder
4 android.net.wifi.aware.SubscribeConfig.Builder
4 android.telephony.TelephonyDisplayInfo
4 android.view.Display.HdrCapabilities
4 android.content.pm.PackageInstaller.SessionInfo
4 android.icu.number.Precision
4 android.os.StrictMode.ThreadPolicy.Builder
4 android.text.method.BaseMovementMethod
4 android.view.PixelCopy
3 android.service.wallpaper.WallpaperService.Engine
3 android.view.ViewTreeObserver
3 android.app.ActivityOptions
3 android.app.job.JobInfo.Builder
3 android.media.tv.interactive.TvInteractiveAppService.Session
3 android.telephony.TelephonyManager
3 java.nio.file.Path
3 android.net.wifi.WifiManager
3 android.app.AlarmManager
3 android.media.MediaRouter2
3 android.telephony.CellSignalStrengthNr
3 android.view.WindowInsets.Builder
3 android.view.accessibility.AccessibilityEvent
3 java.util.PriorityQueue
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.icu.lang.UProperty
2 android.media.AudioFormat
2 android.graphics.fonts.FontStyle
2 android.telecom.Connection
2 java.lang.String
2 android.hardware.camera2.params.OutputConfiguration
2 android.view.autofill.AutofillManager
2 android.telephony.SubscriptionManager
2 java.text.DecimalFormatSymbols
2 android.media.AudioManager
2 android.media.tv.interactive.TvInteractiveAppView
2 android.accessibilityservice.AccessibilityService
2 android.graphics.Typeface
2 java.time.format.DateTimeFormatterBuilder
2 java.util.regex.Pattern
2 java.lang.invoke.MethodHandles
2 android.content.Context
2 android.app.admin.DevicePolicyManager
2 android.telecom.PhoneAccount
2 android.view.Surface
2 android.view.ViewConfiguration
2 android.hardware.camera2.CameraMetadata
2 android.hardware.camera2.CaptureRequest
2 android.R.id
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.media.MediaRoute2Info
1 android.view.inputmethod.InputMethodManager
1 android.app.job.JobInfo
1 android.view.accessibility.AccessibilityNodeInfo
1 android.os.UserManager
1 android.content.ClipDescription
1 android.view.SurfaceControl.Transaction
1 java.nio.ByteBuffer
1 android.speech.SpeechRecognizer
1 java.util.ArrayDeque
1 android.location.LocationManager
1 android.accessibilityservice.AccessibilityServiceInfo
1 java.lang.Character
1 android.hardware.camera2.CameraCharacteristics
1 android.view.MotionEvent
1 android.app.Service
1 android.app.job.JobParameters
1 android.icu.util.MeasureUnit
1 android.net.wifi.p2p.WifiP2pManager
1 android.view.WindowInsets
1 android.provider.ContactsContract.CommonDataKinds.Phone
1 android.os.Build.VERSION_CODES
1 android.util.DisplayMetrics
1 android.app.UiAutomation
1 android.media.MediaCas
1 android.content.pm.PackageInfo
1 android.service.notification.NotificationListenerService
1 android.hardware.HardwareBuffer
1 android.provider.Settings
1 java.lang.Math
1 android.media.MediaCodecInfo.CodecProfileLevel
1 java.io.PrintStream
1 android.view.Display
1 android.content.pm.PackageManager
1 android.content.pm.ActivityInfo
1 android.media.AudioDeviceInfo
1 java.time.format.DateTimeFormatter
1 android.icu.util.VersionInfo
1 android.icu.lang.UCharacter.UnicodeBlock
1 android.nfc.NfcAdapter
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.app.Activity
<1 android.provider.Settings.Global
<1 android.view.View
<1 android.telecom.Call
<1 android.util.TypedValue
<1 android.telecom.Call.Details
<1 java.util.Locale
<1 android.os.Debug
<1 android.media.MediaCodec
<1 android.content.Intent
<1 android.view.WindowManager.LayoutParams
<1 android.graphics.Paint
<1 android.provider.Settings.Secure
<1 android.telecom.TelecomManager
<1 android.icu.text.UnicodeSet
<1 android.media.MediaFormat
<1 android.R.attr
<1 android.icu.lang.UScript
<1 android.graphics.Canvas
<1 android.icu.lang.UCharacter
<1 android.media.MediaPlayer
<1 android.widget.TextView
<1 android.os.Parcel
<1 android.app.Notification
<1 android.system.OsConstants
<1 android.telephony.DataFailCause

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