API Change Statistics

The overall difference between API Levels u-dp2 and u-beta1 is approximately 0.79%.


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 0 35 1 36
Classes and Interfaces 11 81 14 106
Constructors 2 2 1 5
Methods 78 35 54 167
Fields 27 1 19 47
Total 118 154 89 361

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
26 android.adservices.adselection
25 android.companion.virtual
18 android.net.http
16 android.adservices.adid
16 android.adservices.appsetid
15 android.hardware.display
10 android.app.appsearch
7 android.service.credentials
5 android.adservices.topics
2 android.view.accessibility
1 android.credentials
1 android.service.quickaccesswallet
1 android.app
1 android.adservices.customaudience
<1 android.telecom
<1 android.adservices.measurement
<1 android.speech
<1 android.content
<1 android.health.connect
<1 android.view
<1 android.app.job
<1 android.location
<1 android.health.connect.datatypes
<1 android.graphics
<1 android.content.pm
<1 android.service.autofill
<1 android.net.wifi.aware
<1 android.view.inputmethod
<1 android.net.wifi.p2p
<1 android.service.voice
<1 android.os
<1 android.media.tv
<1 android.net
<1 android.provider
<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.LongPropertyConfig
69 android.app.BroadcastOptions
50 android.companion.virtual.VirtualDeviceManager
50 android.net.http.DnsOptions
42 android.net.http.HttpEngine
33 android.adservices.adid.AdIdManager
33 android.adservices.adselection.AdSelectionOutcome
33 android.adservices.adselection.TestAdSelectionManager
33 android.adservices.appsetid.AppSetIdManager
33 android.adservices.topics.TopicsManager
33 android.content.Context.BindServiceFlags
33 android.net.http.DnsOptions.Builder
33 android.net.http.UrlRequest.StatusListener
26 android.app.appsearch.AppSearchSchema.StringPropertyConfig
25 android.adservices.adselection.AdSelectionManager
25 android.service.credentials.CredentialEntry
25 android.service.credentials.GetCredentialRequest
21 android.net.http.UrlRequest.Builder
20 android.net.http.ConnectionMigrationOptions
20 android.net.http.UrlResponseInfo
18 android.credentials.CreateCredentialRequest.Builder
18 android.telecom.CallControlCallback
16 android.graphics.MeshSpecification
14 android.adservices.customaudience.CustomAudienceManager
14 android.app.appsearch.AppSearchSchema.LongPropertyConfig.Builder
14 android.health.connect.datatypes.SleepSessionRecord
14 android.telecom.CallControl
12 android.app.appsearch.SearchSpec.Builder
12 android.view.MotionPredictor
11 android.app.appsearch.GetByDocumentIdRequest
11 android.app.appsearch.SearchSpec
11 android.net.http.ConnectionMigrationOptions.Builder
11 android.telecom.CallEventCallback
10 android.service.credentials.BeginCreateCredentialResponse.Builder
9 android.hardware.display.DisplayManager
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.net.http.QuicOptions.Builder
8 android.service.credentials.BeginCreateCredentialResponse
7 android.location.GnssCapabilities
7 android.service.quickaccesswallet.WalletCard.Builder
7 android.speech.RecognitionPart
6 android.app.UiModeManager
6 android.health.connect.datatypes.ExerciseSessionRecord
6 android.content.pm.PackageManager
6 android.service.credentials.BeginGetCredentialResponse
5 android.adservices.measurement.MeasurementManager
5 android.app.appsearch.SearchResult.MatchInfo
5 android.health.connect.HealthConnectException
5 android.service.credentials.BeginGetCredentialResponse.Builder
4 android.view.accessibility.AccessibilityManager
4 android.app.appsearch.AppSearchSession
3 android.view.inputmethod.InputMethodManager
3 android.service.quickaccesswallet.WalletCard
3 android.location.GnssCapabilities.Builder
3 android.health.connect.HealthConnectManager
2 android.service.autofill.Dataset.Builder
2 android.os.BatteryManager
2 android.net.wifi.aware.DiscoverySessionCallback
2 android.view.accessibility.AccessibilityEvent
1 android.os.PowerManager
1 android.app.job.JobInfo.Builder
1 android.service.autofill.FillEventHistory.Event
1 android.content.IntentFilter
1 android.net.wifi.p2p.WifiP2pManager
1 android.provider.DocumentsProvider
1 android.app.NotificationManager
1 android.view.View
<1 android.content.ContentProvider
<1 android.app.job.JobInfo
<1 android.media.tv.TvInputService.Session
<1 android.net.NetworkCapabilities
<1 android.media.tv.TvInputManager
<1 android.service.voice.VoiceInteractionSession
<1 android.app.Activity
<1 android.content.Context
<1 android.os.UserManager
<1 android.view.accessibility.AccessibilityNodeInfo
<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%.