API Change Statistics

The overall difference between API Levels b-dp2 and b-beta1 is approximately 2.15%.


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 8 49 1 58
Classes and Interfaces 38 147 2 187
Constructors 9 1 0 10
Methods 149 28 36 213
Fields 192 7 11 210
Total 396 232 50 678

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
33 java.lang.runtime
16 android.adservices.adid
14 android.app.appsearch
11 android.net.nsd
8 android.hardware.display
7 android.companion
6 android.adservices.common
5 android.service.carrier
5 android.net.wifi
4 android.net
4 android.adservices.ondevicepersonalization
3 android.adservices.measurement
3 java.lang.invoke
2 android.view.accessibility
2 android.net.wifi.p2p
1 android.hardware.biometrics
1 android.adservices.customaudience
1 android.telephony.ims
1 android.net.wifi.rtt
1 android.content.pm
1 android.view.autofill
1 android.adservices.adselection
1 android.inputmethodservice
<1 android.text.style
<1 android.app
<1 android.provider
<1 android.security.keystore
<1 android.view
<1 android.net.wifi.p2p.nsd
<1 android.net.vcn
<1 android.app.appfunctions
<1 android.net.http
<1 android.hardware.camera2
<1 android.appwidget
<1 java.lang
<1 android.os
<1 android.telephony
<1 android.nfc
<1 android.media
<1 android.app.admin
<1 android.graphics
<1 android.app.job
<1 android.service.autofill
<1 android.accessibilityservice
<1 android.telecom
<1 android.content
<1 android.media.tv
<1 android.view.inputmethod
<1 android

* 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
50 android.adservices.common.AdServicesOutcomeReceiver
50 android.net.wifi.WifiManager.WifiStateChangedListener
48 android.service.carrier.CarrierMessagingService
41 android.adservices.measurement.MeasurementManager
40 android.adservices.ondevicepersonalization.OnDevicePersonalizationManager
38 android.app.appsearch.AppSearchSchema.Builder
33 android.adservices.adid.AdIdManager
33 android.adservices.ondevicepersonalization.InferenceOutput
33 android.app.appsearch.AppSearchSchema.EmbeddingPropertyConfig
28 android.app.appsearch.GetSchemaResponse.Builder
25 android.app.appsearch.AppSearchSchema.BooleanPropertyConfig.Builder
25 android.app.appsearch.AppSearchSchema.DoublePropertyConfig.Builder
25 android.provider.CloudMediaProviderContract.Capabilities.Builder
23 android.adservices.customaudience.ScheduleCustomAudienceUpdateRequest.Builder
20 android.adservices.adselection.AdSelectionOutcome
20 android.adservices.ondevicepersonalization.FederatedComputeScheduler
20 android.app.appsearch.AppSearchSchema.EmbeddingPropertyConfig.Builder
20 android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder
20 android.app.appsearch.SearchSpec.Builder
20 android.companion.CompanionDeviceService
20 android.provider.CloudMediaProviderContract.Capabilities
20 android.telephony.ims.ImsRegistrationAttributes
17 android.hardware.display.VirtualDisplayConfig.Builder
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.provider.CloudMediaProviderContract
16 android.telephony.SubscriptionPlan
14 android.adservices.ondevicepersonalization.InferenceInput.Builder
14 android.app.appsearch.AppSearchManager
14 android.app.appsearch.AppSearchSchema.BytesPropertyConfig.Builder
14 android.app.appsearch.AppSearchSchema.LongPropertyConfig
14 android.app.appsearch.EnterpriseGlobalSearchSession
14 android.app.appsearch.StorageInfo
14 android.hardware.biometrics.BiometricManager.Authenticators
14 android.net.wifi.SoftApConfiguration
11 android.media.MediaCodecInfo.CodecProfileLevel
11 android.adservices.adselection.AdSelectionOutcome.Builder
11 android.adservices.ondevicepersonalization.InferenceInput
11 android.adservices.ondevicepersonalization.InferenceOutput.Builder
11 android.companion.CompanionDeviceManager
11 android.net.http.X509TrustManagerExtensions
11 android.net.wifi.rtt.PasnConfig.Builder
11 android.os.VibrationEffect.Composition
11 android.text.style.TtsSpan.TimeBuilder
10 android.view.SurfaceView
10 android.media.AudioPlaybackConfiguration
10 android.os.ProfilingManager
10 android.provider.ContactsContract.Settings
10 android.view.accessibility.AccessibilityNodeInfo.RangeInfo
9 android.app.appsearch.AppSearchBatchResult.Builder
9 android.app.appsearch.AppSearchSchema.PropertyConfig
9 android.app.appsearch.SetSchemaRequest.Builder
9 android.companion.AssociationInfo
9 android.hardware.biometrics.BiometricManager
9 android.media.AudioRouting
9 android.security.keystore.KeyStoreManager
8 java.lang.Thread
8 android.hardware.display.VirtualDisplayConfig
7 android.app.appsearch.AppSearchSchema
7 android.app.appsearch.AppSearchSchema.StringPropertyConfig.Builder
6 android.view.autofill.AutofillManager
6 android.adservices.adselection.ReportEventRequest
6 android.adservices.ondevicepersonalization.InferenceInput.Params
6 android.app.appsearch.GlobalSearchSession
6 android.app.appsearch.SearchResult.Builder
6 android.hardware.camera2.MultiResolutionImageReader
6 android.inputmethodservice.AbstractInputMethodService
5 android.app.appsearch.AppSearchSchema.DocumentPropertyConfig.Builder
5 android.content.AttributionSource.Builder
5 android.inputmethodservice.AbstractInputMethodService.AbstractInputMethodSessionImpl
5 android.app.appsearch.AppSearchResult
5 android.net.vcn.VcnGatewayConnectionConfig
5 android.net.wifi.p2p.WifiP2pPairingBootstrappingConfig
5 android.net.wifi.p2p.nsd.WifiP2pUsdBasedServiceConfig
5 android.telephony.SubscriptionPlan.Builder
4 android.view.accessibility.AccessibilityManager
4 android.app.appsearch.SearchResult
4 android.graphics.YuvImage
4 android.net.ConnectivityManager.NetworkCallback
4 android.content.pm.LauncherApps.Callback
4 android.net.wifi.p2p.WifiP2pConfig.Builder
4 android.app.appsearch.GenericDocument
3 android.service.autofill.FillRequest
3 android.adservices.customaudience.CustomAudience.Builder
3 android.net.wifi.rtt.RangingResult.Builder
3 android.telecom.ConnectionService
3 android.adservices.customaudience.CustomAudience
2 java.lang.Character.UnicodeBlock
2 android.net.wifi.rtt.RangingResult
2 android.app.appsearch.GenericDocument.Builder
2 android.hardware.biometrics.BiometricPrompt
2 android.graphics.Path
2 android.app.appsearch.SearchSpec
2 android.graphics.ColorSpace.Named
2 android.nfc.NfcAdapter
2 java.lang.Float
2 android.app.appfunctions.AppFunctionException
2 android.net.wifi.p2p.WifiP2pGroup
2 android.media.tv.TvContract.Channels
2 android.app.admin.DevicePolicyIdentifiers
2 android.net.nsd.NsdServiceInfo
2 android.net.wifi.rtt.PasnConfig
2 android.security.keystore.KeyInfo
2 java.lang.Character.UnicodeScript
2 android.view.Surface
2 android.view.accessibility.AccessibilityNodeInfo
2 android.accessibilityservice.AccessibilityService
1 java.lang.Long
1 java.lang.Integer
1 java.lang.Character
1 android.view.inputmethod.EditorInfo
1 android.net.wifi.p2p.WifiP2pManager
1 android.net.wifi.p2p.WifiP2pConfig
1 android.view.SurfaceControl.Transaction
1 android.content.pm.LauncherApps
1 android.text.style.TtsSpan
1 android.telephony.SmsMessage
1 android.appwidget.AppWidgetProviderInfo
<1 android.os.BatteryManager
<1 android.app.Notification
<1 android.app.job.JobInfo
<1 android.view.Display
<1 android.app.Notification.Builder
<1 android.net.ConnectivityManager
<1 android.telephony.SubscriptionManager
<1 android.app.NotificationManager
<1 android.view.accessibility.AccessibilityEvent
<1 android.hardware.camera2.CameraMetadata
<1 android.app.admin.DevicePolicyManager
<1 android.provider.MediaStore
<1 android.net.wifi.WifiManager
<1 android.inputmethodservice.InputMethodService
<1 android.hardware.camera2.CaptureResult
<1 android.Manifest.permission
<1 android.provider.Settings
<1 android.graphics.Paint
<1 android.content.pm.PackageManager
<1 android.media.MediaFormat
<1 android.content.Context
<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%.