API Change Statistics

The overall difference between API Levels 33 and 34 is approximately 8.13%.


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 24 94 0 118
Classes and Interfaces 188 391 1 580
Constructors 20 5 0 25
Methods 821 103 17 941
Fields 901 32 0 933
Total 1954 625 18 2597

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
100 android.adservices
94 android.app.sdksandbox
72 android.net.http
33 android.service.chooser
29 android.media.projection
28 android.view.inputmethod
25 dalvik.system
24 android.speech
24 android.hardware.input
24 android.hardware.display
23 android.view.autofill
23 android.window
21 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 java.lang.invoke
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.media.tv
6 android.graphics
5 android.service.quickaccesswallet
5 android.content.pm
5 java.util.zip
4 android.net.wifi
4 android.icu.number
4 android.app.role
4 android.telephony.ims
3 java.time
3 java.nio
3 android.view
3 android.hardware.camera2
3 android.app
3 android.media
3 java.lang
2 android.security.identity
2 java.util.regex
2 android
2 android.content.res.loader
2 android.os.strictmode
2 java.lang.reflect
1 android.service.wallpaper
1 android.service.controls
1 android.hardware.lights
1 android.bluetooth
1 java.util
1 android.telephony
1 java.security
1 android.icu.util
1 android.net.wifi.hotspot2.pps
<1 android.bluetooth.le
<1 java.io
<1 android.content
<1 java.util.stream
<1 android.net.wifi.p2p
<1 android.os
<1 android.accessibilityservice
<1 android.service.voice
<1 android.text.style
<1 android.view.accessibility
<1 android.service.autofill
<1 java.time.format
<1 java.util.concurrent.locks
<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 android.provider
<1 android.text.method
<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
65 android.location.GnssCapabilities.Builder
65 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
42 android.net.vcn.VcnCellUnderlyingNetworkTemplate
42 android.net.wifi.aware.IdentityChangedListener
42 android.view.WindowManager
40 android.app.job.JobService
37 android.net.wifi.WifiConfiguration.KeyMgmt
36 android.media.tv.TableRequest
35 android.companion.CompanionDeviceManager
34 android.R.color
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
27 android.service.quickaccesswallet.WalletCard.Builder
26 android.media.MediaRoute2Info
26 android.app.appsearch.AppSearchSchema.StringPropertyConfig
25 android.media.tv.TableResponse
25 android.media.tv.TimelineRequest
25 android.net.vcn.VcnCellUnderlyingNetworkTemplate.Builder
25 android.service.quickaccesswallet.WalletCard
25 java.io.WriteAbortedException
24 android.telecom.InCallService
23 android.app.LocaleConfig
23 android.media.tv.interactive.TvInteractiveAppService
23 android.media.AudioTimestamp
23 android.net.nsd.NsdManager
23 android.net.vcn.VcnGatewayConnectionConfig
22 android.speech.SpeechRecognizer
22 android.media.tv.interactive.TvInteractiveAppService.Session
21 android.view.HapticFeedbackConstants
20 android.Manifest.permission
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 java.util.zip.Checksum
19 android.app.appsearch.SearchSpec.Builder
18 android.view.SurfaceView
18 android.speech.RecognitionService
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
15 android.app.appsearch.SearchSpec
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.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 android.media.tv.TvInputService.Session
11 java.util.stream.Stream
11 android.media.tv.TvInputManager
11 android.app.Notification.MediaStyle
11 android.app.appsearch.GetByDocumentIdRequest
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
10 android.telephony.NetworkRegistrationInfo
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 java.lang.Class
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.content.pm.PackageManager
7 android.accessibilityservice.MagnificationConfig.Builder
7 android.app.GameManager
7 android.bluetooth.le.AdvertiseSettings.Builder
7 android.companion.AssociationRequest
7 android.content.AttributionSource.Builder
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.UiModeManager
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 java.util.Formatter
6 android.text.Layout
6 android.view.inputmethod.InputMethodManager
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 android.location.Location
5 android.telephony.CarrierConfigManager
5 android.service.autofill.Dataset.Builder
5 android.telephony.SignalThresholdInfo
5 android.hardware.DataSpace
5 android.view.Display
5 android.app.ActivityManager.MemoryInfo
5 android.net.wifi.rtt.ResponderConfig.Builder
5 android.view.WindowInsets.Type
5 java.util.Scanner
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.content.AttributionSource
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.content.Context
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.app.admin.PreferentialNetworkServiceConfig
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.DevicePolicyManager
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
3 android.app.job.JobParameters
3 android.view.contentcapture.ContentCaptureSession
2 android.app.ApplicationExitInfo
2 android.app.Activity
2 android.media.AudioFormat
2 android.graphics.fonts.FontStyle
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 android.app.PendingIntent
2 java.text.DecimalFormatSymbols
2 android.view.MotionEvent
2 android.accessibilityservice.AccessibilityService
2 android.os.BatteryManager
2 android.service.notification.NotificationListenerService
2 android.widget.TextView
2 android.graphics.Typeface
2 java.time.format.DateTimeFormatterBuilder
2 java.util.regex.Pattern
2 java.lang.invoke.MethodHandles
2 android.os.UserManager
2 android.util.TypedValue
2 android.view.WindowManager.LayoutParams
2 android.telecom.PhoneAccount
2 android.view.Surface
2 android.hardware.camera2.CaptureRequest
2 android.R.id
2 android.bluetooth.le.AdvertisingSetParameters
2 android.graphics.Bitmap
2 android.os.Process
2 android.content.res.Configuration
2 android.provider.ContactsContract.Contacts
2 android.security.KeyStoreException
2 android.text.style.TextAppearanceSpan
2 android.hardware.camera2.CameraMetadata
1 android.graphics.ImageFormat
1 android.app.job.JobInfo.Builder
1 android.content.ClipDescription
1 android.service.autofill.FillEventHistory.Event
1 android.media.AudioTrack
1 java.nio.ByteBuffer
1 android.view.accessibility.AccessibilityManager
1 java.util.ArrayDeque
1 android.location.LocationManager
1 android.accessibilityservice.AccessibilityServiceInfo
1 android.view.PointerIcon
1 java.lang.invoke.MethodType
1 java.lang.Character
1 android.hardware.camera2.CameraCharacteristics
1 android.service.voice.VoiceInteractionSession
1 android.app.Service
1 android.content.Intent
1 android.icu.util.MeasureUnit
1 android.view.WindowInsets
1 android.view.KeyEvent
1 android.provider.ContactsContract.CommonDataKinds.Phone
1 android.os.Build.VERSION_CODES
1 android.view.autofill.AutofillManager
1 android.media.MediaCas
1 android.media.MediaCodec
1 android.media.tv.interactive.TvInteractiveAppManager
1 android.bluetooth.BluetoothCodecConfig
1 android.content.RestrictionsManager
1 android.provider.DocumentsProvider
1 android.content.pm.PackageInfo
1 android.bluetooth.BluetoothGatt
1 android.hardware.HardwareBuffer
1 android.provider.Settings
1 java.lang.Math
1 android.view.View
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.view.accessibility.AccessibilityNodeInfo.AccessibilityAction
1 java.time.OffsetTime
<1 android.app.job.JobInfo
<1 android.content.ContentProvider
<1 java.lang.StringBuffer
<1 java.lang.StringBuilder
<1 android.provider.Settings.Global
<1 android.net.NetworkCapabilities
<1 android.telecom.Call
<1 android.telecom.Call.Details
<1 java.util.Locale
<1 android.os.Debug
<1 android.R.attr
<1 android.app.NotificationManager
<1 android.graphics.Paint
<1 android.provider.Settings.Secure
<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%.