API Change Statistics

The overall difference between API Levels 35 and b-dp2 is approximately 1.88%.


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 54 0 60
Classes and Interfaces 79 171 0 250
Constructors 13 3 0 16
Methods 221 18 0 239
Fields 212 27 0 239
Total 531 273 0 804

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
27 android.health.connect
24 android.net.wifi.p2p.nsd
24 android.app.sdksandbox.sdkprovider
21 android.net.wifi.rtt
12 android.adservices.customaudience
11 android.net.wifi.p2p
10 android.hardware.fingerprint
10 android.companion
8 android.adservices.ondevicepersonalization
7 android.window
7 android.adservices.adselection
5 android.app.job
4 android.app.appsearch
3 android.health.connect.datatypes
3 android.media.tv
3 android.security.keystore
2 android.os
2 java.util.concurrent
1 android.nfc.cardemulation
1 android.media.tv.interactive
1 android.net.wifi
1 android.telephony.ims
1 android.provider
1 android.hardware.display
<1 android.graphics
<1 android.icu.number
<1 android.text.style
<1 android.app.assist
<1 android.security
<1 android.view
<1 android
<1 java.lang
<1 android.net.wifi.aware
<1 android.view.inputmethod
<1 android.view.accessibility
<1 android.icu.lang
<1 android.appwidget
<1 java.util
<1 android.telephony.data
<1 android.telephony
<1 android.content
<1 android.nfc
<1 android.accessibilityservice
<1 android.icu.util
<1 android.telecom
<1 android.app
<1 android.app.admin
<1 android.service.notification
<1 android.media
<1 android.inputmethodservice
<1 android.hardware
<1 android.icu.text
<1 android.content.pm
<1 android.net

* See Calculation of Change Percentages, below.


Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage
Difference*
Class or Interface
100 android.graphics.RecordingCanvas
60 android.adservices.ondevicepersonalization.IsolatedServiceException
53 android.adservices.ondevicepersonalization.OnDevicePersonalizationException
50 java.util.concurrent.ThreadLocalRandom
42 android.hardware.fingerprint.FingerprintManager
33 android.adservices.ondevicepersonalization.DownloadCompletedInput
33 android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener
28 android.provider.CloudMediaProviderContract
28 java.util.concurrent.ConcurrentHashMap.KeySetView
25 android.adservices.ondevicepersonalization.TrainingExamplesInput
23 android.health.connect.HealthConnectManager
23 java.util.concurrent.Future
20 android.adservices.adselection.GetAdSelectionDataRequest
20 android.adservices.ondevicepersonalization.EventInput
20 android.adservices.ondevicepersonalization.ExecuteInput
20 android.adservices.ondevicepersonalization.OnDevicePersonalizationManager
20 android.net.wifi.p2p.nsd.WifiP2pServiceRequest
20 android.net.wifi.rtt.RangingRequest
20 android.telephony.CarrierConfigManager.Gps
20 android.telephony.ims.ImsRegistrationAttributes
19 android.net.wifi.p2p.WifiP2pConfig
17 android.os.ProfilingManager
17 android.window.BackEvent
16 java.util.concurrent.ForkJoinWorkerThread
15 android.provider.ContactsContract.CommonDataKinds.SipAddress
14 android.adservices.ondevicepersonalization.RenderInput
14 android.adservices.ondevicepersonalization.WebTriggerInput
14 android.app.appsearch.AppSearchManager
14 android.app.appsearch.AppSearchSchema.BooleanPropertyConfig.Builder
14 android.app.appsearch.AppSearchSchema.BytesPropertyConfig.Builder
14 android.app.appsearch.AppSearchSchema.DoublePropertyConfig.Builder
14 android.icu.number.LocalizedNumberRangeFormatter
14 android.media.MediaCodecInfo
14 android.net.wifi.p2p.WifiP2pGroup
14 android.net.wifi.p2p.nsd.WifiP2pServiceInfo
14 android.net.wifi.rtt.WifiRttManager
14 android.security.NetworkSecurityPolicy
13 android.provider.CloudMediaProvider
12 android.media.tv.TvInputManager
11 android.adservices.adselection.GetAdSelectionDataRequest.Builder
11 android.adservices.ondevicepersonalization.AppInfo
11 android.adservices.ondevicepersonalization.ExecuteOutput
11 android.app.appsearch.AppSearchSchema.Builder
11 android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder
11 android.app.sdksandbox.sdkprovider.SdkSandboxController
11 android.media.tv.BroadcastInfoRequest
11 android.window.OnBackInvokedDispatcher
10 android.app.appsearch.SearchSpec.Builder
10 android.nfc.cardemulation.CardEmulation
10 android.companion.CompanionDeviceManager
10 android.R.integer
10 android.net.wifi.p2p.WifiP2pConfig.Builder
9 android.health.connect.HealthPermissions
9 android.os.BatteryManager
9 android.net.wifi.p2p.WifiP2pDevice
9 android.adservices.customaudience.CustomAudienceManager
9 android.app.appsearch.AppSearchResult
9 android.app.appsearch.AppSearchSchema.PropertyConfig
9 android.companion.CompanionDeviceManager.Callback
9 android.hardware.display.VirtualDisplay
9 android.icu.number.LocalizedNumberFormatter
9 java.util.Random
9 java.util.WeakHashMap
8 android.app.appsearch.SearchSuggestionSpec.Builder
8 android.app.appsearch.SearchSpec
7 android.app.appsearch.AppSearchSchema
7 android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder
7 android.app.appsearch.SearchResult.Builder
7 android.net.wifi.aware.AwarePairingConfig.Builder
7 android.net.wifi.rtt.RangingResult.Builder
7 android.os.VibrationEffect
7 java.util.Locale
6 android.view.inputmethod.InputMethodSubtype
6 android.app.ActivityOptions
6 android.adservices.ondevicepersonalization.ExecuteOutput.Builder
6 android.os.Vibrator
6 android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder
6 android.provider.ContactsContract.CommonDataKinds.Im
6 android.net.wifi.rtt.RangingResult
6 android.media.tv.interactive.TvInteractiveAppView.TvInteractiveAppCallback
5 android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder
5 android.content.AttributionSource.Builder
5 android.app.ApplicationStartInfo
5 android.app.appsearch.SearchResult
5 android.companion.CompanionDeviceService
5 android.view.accessibility.AccessibilityNodeInfo
5 android.provider.MediaStore.Audio.AudioColumns
4 android.companion.AssociationInfo
4 android.graphics.YuvImage
4 android.media.tv.TvView
4 android.media.tv.interactive.TvInteractiveAppView
4 android.view.Display
4 android.provider.MediaStore
4 android.app.appsearch.GenericDocument
4 android.app.job.JobScheduler
4 android.content.IntentSender
4 android.net.wifi.rtt.RangingRequest.Builder
4 android.net.wifi.rtt.ResponderConfig.Builder
4 android.media.tv.TvInputService.Session
4 android.adservices.customaudience.CustomAudience.Builder
4 android.app.appsearch.SearchSuggestionSpec
4 android.net.wifi.WifiAvailableChannel
4 android.os.Build.VERSION
4 android.view.inputmethod.InputMethodInfo
4 java.util.concurrent.ExecutorService
3 java.util.concurrent.ForkJoinPool
3 android.os.StrictMode.VmPolicy.Builder
3 java.util.concurrent.ForkJoinTask
3 android.media.tv.interactive.TvInteractiveAppService.Session
3 android.adservices.customaudience.CustomAudience
3 android.telecom.ConnectionService
3 android.app.assist.AssistContent
3 android.net.wifi.rtt.ResponderConfig
3 android.view.inputmethod.InputMethodManager
3 android.app.appsearch.GenericDocument.Builder
3 android.net.wifi.aware.AwarePairingConfig
3 android.os.Build
3 android.os.ProfilingResult
2 android.accessibilityservice.AccessibilityService
2 android.graphics.ColorSpace.Named
2 java.util.Objects
2 android.icu.text.Normalizer2
2 android.media.tv.TvView.TvInputCallback
2 android.net.wifi.p2p.WifiP2pManager
2 android.provider.MediaStore.MediaColumns
2 android.security.keystore.KeyInfo
2 android.view.Surface
2 android.app.admin.SecurityLog
1 android.graphics.ImageFormat
1 android.net.wifi.ScanResult
1 android.nfc.NfcAdapter
1 android.view.inputmethod.EditorInfo
1 android.R.string
1 android.icu.lang.UScript
1 android.telephony.data.ApnSetting
1 android.view.accessibility.AccessibilityEvent
1 android.icu.lang.UCharacter.UnicodeBlock
1 android.view.SurfaceControl.Transaction
1 android.icu.lang.UCharacter.IndicSyllabicCategory
1 android.os.Build.VERSION_CODES
1 android.icu.lang.UProperty
1 android.appwidget.AppWidgetProviderInfo
1 android.icu.util.Calendar
1 android.content.pm.ActivityInfo
1 android.hardware.HardwareBuffer
1 android.icu.util.VersionInfo
<1 android.icu.util.TimeZone
<1 android.app.job.JobInfo
<1 android.Manifest.permission
<1 android.graphics.Path
<1 android.telephony.CarrierConfigManager
<1 android.net.NetworkCapabilities
<1 android.net.wifi.WifiManager
<1 android.media.MediaFormat
<1 android.telephony.SubscriptionManager
<1 java.util.concurrent.CompletableFuture
<1 android.service.notification.NotificationListenerService
<1 android.media.MediaCodecInfo.CodecCapabilities
<1 android.icu.util.MeasureUnit
<1 android.content.Context
<1 android.inputmethodservice.InputMethodService
<1 android.icu.text.UnicodeSet
<1 android.icu.lang.UCharacter.JoiningGroup
<1 android.os.UserManager
<1 android.graphics.Canvas
<1 android.content.pm.PackageManager
<1 android.view.ViewGroup
<1 java.util.Arrays
<1 android.R.attr
<1 android.view.View
<1 android.content.Intent

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