API Change Statistics

The overall difference between API Levels 35 and b-beta1 is approximately 3.61%.


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 13 64 0 77
Classes and Interfaces 115 228 0 343
Constructors 21 3 0 24
Methods 335 43 5 383
Fields 388 28 0 416
Total 872 366 5 1243

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
33 java.lang.runtime
27 android.health.connect
24 android.net.wifi.p2p.nsd
24 android.app.sdksandbox.sdkprovider
22 android.net.wifi.rtt
16 android.adservices.adid
16 android.companion
15 android.app.appsearch
13 android.net.wifi.p2p
12 android.adservices.ondevicepersonalization
12 android.adservices.customaudience
11 android.net.nsd
10 android.hardware.fingerprint
10 android.hardware.display
8 android.adservices.adselection
7 android.window
6 android.adservices.common
5 android.app.job
5 android.net.wifi
5 android.service.carrier
4 android.net
3 android.health.connect.datatypes
3 android.media.tv
3 android.security.keystore
3 android.view.accessibility
3 android.adservices.measurement
3 java.lang.invoke
2 android.os
2 java.util.concurrent
1 android.provider
1 android.text.style
1 android.nfc.cardemulation
1 android.hardware.biometrics
1 android.media.tv.interactive
1 android.content.pm
1 android.view.autofill
1 android.inputmethodservice
<1 android.app
<1 android.graphics
<1 android.icu.number
<1 android.app.assist
<1 android.security
<1 java.lang
<1 android
<1 android.net.vcn
<1 android.view.inputmethod
<1 android.net.wifi.aware
<1 android.telephony
<1 android.net.http
<1 android.nfc
<1 android.hardware.camera2
<1 android.icu.lang
<1 java.util
<1 android.telephony.data
<1 android.media
<1 android.app.admin
<1 android.view
<1 android.icu.util
<1 android.service.autofill
<1 android.service.notification
<1 android.content
<1 android.accessibilityservice
<1 android.hardware
<1 android.icu.text

* See Calculation of Change Percentages, below.


Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage
Difference*
Class or Interface
100 android.app.appsearch.AppSearchSchema.BooleanPropertyConfig
100 android.app.appsearch.AppSearchSchema.DoublePropertyConfig
100 android.graphics.RecordingCanvas
60 android.adservices.ondevicepersonalization.IsolatedServiceException
55 android.adservices.ondevicepersonalization.OnDevicePersonalizationManager
53 android.adservices.ondevicepersonalization.OnDevicePersonalizationException
50 android.adservices.common.AdServicesOutcomeReceiver
50 java.util.concurrent.ThreadLocalRandom
48 android.service.carrier.CarrierMessagingService
42 android.hardware.fingerprint.FingerprintManager
41 android.adservices.measurement.MeasurementManager
33 android.adservices.adid.AdIdManager
33 android.adservices.ondevicepersonalization.DownloadCompletedInput
33 android.adservices.ondevicepersonalization.InferenceOutput
33 android.app.appsearch.AppSearchSchema.Builder
33 android.net.wifi.p2p.WifiP2pManager.ServiceResponseListener
30 android.app.appsearch.SearchSpec.Builder
28 android.provider.CloudMediaProviderContract
28 java.util.concurrent.ConcurrentHashMap.KeySetView
28 android.app.appsearch.GetSchemaResponse.Builder
26 android.companion.CompanionDeviceService
25 android.adservices.ondevicepersonalization.TrainingExamplesInput
23 android.health.connect.HealthConnectManager
23 java.util.concurrent.Future
20 android.net.wifi.p2p.WifiP2pConfig
20 android.adservices.adselection.AdSelectionOutcome
20 android.adservices.adselection.GetAdSelectionDataRequest
20 android.adservices.ondevicepersonalization.EventInput
20 android.adservices.ondevicepersonalization.ExecuteInput
20 android.adservices.ondevicepersonalization.FederatedComputeScheduler
20 android.net.wifi.p2p.nsd.WifiP2pServiceRequest
20 android.net.wifi.rtt.RangingRequest
20 android.telephony.CarrierConfigManager.Gps
17 android.hardware.display.VirtualDisplayConfig.Builder
17 android.os.ProfilingManager
17 android.window.BackEvent
17 android.app.appsearch.AppSearchSession
17 android.content.pm.SigningInfo
16 android.app.appsearch.JoinSpec.Builder
16 android.app.appsearch.StorageInfo.Builder
16 android.content.pm.LauncherUserInfo
16 android.net.wifi.p2p.WifiP2pGroup
16 java.util.concurrent.ForkJoinWorkerThread
16 android.telephony.SubscriptionPlan
15 android.companion.CompanionDeviceManager
15 android.provider.ContactsContract.CommonDataKinds.SipAddress
14 android.adservices.ondevicepersonalization.InferenceInput.Builder
14 android.adservices.ondevicepersonalization.RenderInput
14 android.adservices.ondevicepersonalization.WebTriggerInput
14 android.app.appsearch.AppSearchSchema.BooleanPropertyConfig.Builder
14 android.app.appsearch.AppSearchSchema.DoublePropertyConfig.Builder
14 android.app.appsearch.AppSearchSchema.LongPropertyConfig
14 android.app.appsearch.EnterpriseGlobalSearchSession
14 android.app.appsearch.SearchResult.Builder
14 android.app.appsearch.StorageInfo
14 android.hardware.biometrics.BiometricManager.Authenticators
14 android.icu.number.LocalizedNumberRangeFormatter
14 android.media.MediaCodecInfo
14 android.net.wifi.SoftApConfiguration
14 android.net.wifi.p2p.WifiP2pConfig.Builder
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.media.MediaCodecInfo.CodecProfileLevel
11 android.adservices.adselection.AdSelectionOutcome.Builder
11 android.adservices.adselection.GetAdSelectionDataRequest.Builder
11 android.adservices.ondevicepersonalization.AppInfo
11 android.adservices.ondevicepersonalization.ExecuteOutput
11 android.adservices.ondevicepersonalization.InferenceInput
11 android.adservices.ondevicepersonalization.InferenceOutput.Builder
11 android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder
11 android.app.sdksandbox.sdkprovider.SdkSandboxController
11 android.media.tv.BroadcastInfoRequest
11 android.net.http.X509TrustManagerExtensions
11 android.net.wifi.rtt.RangingResult.Builder
11 android.os.VibrationEffect.Composition
11 android.text.style.TtsSpan.TimeBuilder
11 android.window.OnBackInvokedDispatcher
10 android.nfc.cardemulation.CardEmulation
10 android.app.appsearch.SearchSpec
10 android.view.SurfaceView
10 android.R.integer
10 android.app.appsearch.SearchResult
10 android.media.AudioPlaybackConfiguration
10 android.provider.ContactsContract.Settings
10 android.view.accessibility.AccessibilityNodeInfo.RangeInfo
9 android.health.connect.HealthPermissions
9 android.net.wifi.p2p.WifiP2pDevice
9 android.net.wifi.rtt.RangingResult
9 android.adservices.customaudience.CustomAudienceManager
9 android.app.appsearch.AppSearchBatchResult.Builder
9 android.app.appsearch.AppSearchResult
9 android.app.appsearch.SetSchemaRequest.Builder
9 android.companion.CompanionDeviceManager.Callback
9 android.hardware.biometrics.BiometricManager
9 android.hardware.display.VirtualDisplay
9 android.icu.number.LocalizedNumberFormatter
9 android.media.AudioRouting
9 java.util.Random
9 java.util.WeakHashMap
8 android.os.BatteryManager
8 java.lang.Thread
8 android.app.appsearch.GenericDocument
8 android.app.appsearch.SearchSuggestionSpec.Builder
8 android.hardware.display.VirtualDisplayConfig
7 android.adservices.customaudience.CustomAudience.Builder
7 android.net.wifi.aware.AwarePairingConfig.Builder
7 android.os.VibrationEffect
7 android.view.accessibility.AccessibilityNodeInfo
7 java.util.Locale
6 android.view.inputmethod.InputMethodSubtype
6 android.view.autofill.AutofillManager
6 android.app.ActivityOptions
6 android.adservices.adselection.ReportEventRequest
6 android.adservices.customaudience.CustomAudience
6 android.adservices.ondevicepersonalization.ExecuteOutput.Builder
6 android.adservices.ondevicepersonalization.InferenceInput.Params
6 android.app.appsearch.GlobalSearchSession
6 android.hardware.camera2.MultiResolutionImageReader
6 android.inputmethodservice.AbstractInputMethodService
6 android.os.Vibrator
6 android.view.inputmethod.InputMethodSubtype.InputMethodSubtypeBuilder
6 android.provider.ContactsContract.CommonDataKinds.Im
6 android.media.tv.interactive.TvInteractiveAppView.TvInteractiveAppCallback
5 android.app.appsearch.GenericDocument.Builder
5 android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl
5 android.view.Display
5 android.app.ApplicationStartInfo
5 android.net.vcn.VcnGatewayConnectionConfig
5 android.telephony.SubscriptionPlan.Builder
5 android.provider.MediaStore.Audio.AudioColumns
4 android.provider.MediaStore
4 android.view.accessibility.AccessibilityManager
4 android.companion.AssociationInfo
4 android.media.tv.TvView
4 android.media.tv.interactive.TvInteractiveAppView
4 android.net.ConnectivityManager.NetworkCallback
4 android.nfc.NfcAdapter
4 android.app.job.JobScheduler
4 android.content.IntentSender
4 android.content.pm.LauncherApps.Callback
4 android.net.wifi.rtt.RangingRequest.Builder
4 android.net.wifi.rtt.ResponderConfig.Builder
4 android.media.tv.TvInputService.Session
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 android.net.wifi.p2p.WifiP2pManager
3 java.util.concurrent.ForkJoinPool
3 android.service.autofill.FillRequest
3 android.os.StrictMode.VmPolicy.Builder
3 java.util.concurrent.ForkJoinTask
3 android.view.inputmethod.EditorInfo
3 android.media.tv.interactive.TvInteractiveAppService.Session
3 android.app.assist.AssistContent
3 android.net.wifi.rtt.ResponderConfig
3 android.view.inputmethod.InputMethodManager
3 android.net.wifi.aware.AwarePairingConfig
3 android.os.Build
3 android.os.ProfilingResult
2 java.lang.Character.UnicodeBlock
2 android.hardware.biometrics.BiometricPrompt
2 java.lang.Float
2 java.util.Objects
2 android.media.tv.TvContract.Channels
2 android.app.admin.DevicePolicyIdentifiers
2 android.icu.text.Normalizer2
2 android.media.tv.TvView.TvInputCallback
2 android.net.nsd.NsdServiceInfo
2 android.provider.MediaStore.MediaColumns
2 android.view.accessibility.AccessibilityEvent
2 java.lang.Character.UnicodeScript
2 android.app.admin.SecurityLog
1 java.lang.Long
1 java.lang.Integer
1 android.graphics.ImageFormat
1 android.net.wifi.ScanResult
1 java.lang.Character
1 android.R.string
1 android.icu.lang.UScript
1 android.telephony.data.ApnSetting
1 android.icu.lang.UCharacter.UnicodeBlock
1 android.content.pm.LauncherApps
1 android.icu.lang.UCharacter.IndicSyllabicCategory
1 android.os.Build.VERSION_CODES
1 android.net.wifi.WifiManager
1 android.icu.lang.UProperty
1 android.text.style.TtsSpan
1 android.telephony.SmsMessage
1 android.icu.util.Calendar
1 android.content.pm.ActivityInfo
1 android.hardware.HardwareBuffer
1 android.Manifest.permission
1 android.icu.util.VersionInfo
1 android.inputmethodservice.InputMethodService
<1 android.media.MediaFormat
<1 android.icu.util.TimeZone
<1 android.app.Notification
<1 android.graphics.Path
<1 android.telephony.CarrierConfigManager
<1 android.accessibilityservice.AccessibilityService
<1 android.net.NetworkCapabilities
<1 android.content.Context
<1 android.app.Notification.Builder
<1 android.content.pm.PackageManager
<1 android.net.ConnectivityManager
<1 java.util.concurrent.CompletableFuture
<1 android.service.notification.NotificationListenerService
<1 android.media.MediaCodecInfo.CodecCapabilities
<1 android.app.NotificationManager
<1 android.icu.util.MeasureUnit
<1 android.hardware.camera2.CameraMetadata
<1 android.app.admin.DevicePolicyManager
<1 android.icu.text.UnicodeSet
<1 android.hardware.camera2.CaptureResult
<1 android.icu.lang.UCharacter.JoiningGroup
<1 android.os.UserManager
<1 android.graphics.Canvas
<1 android.provider.Settings
<1 android.view.ViewGroup
<1 android.graphics.Paint
<1 java.util.Arrays
<1 android.view.View
<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%.