API Change Statistics

The overall difference between API Levels 25.4.0 and 26.0.0-beta2 is approximately 15.67%.


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 30 0 38
Classes and Interfaces 59 125 7 191
Constructors 8 3 3 14
Methods 251 262 7 520
Fields 54 92 0 146
Total 380 512 17 909

Changed Packages, Sorted by Percentage Difference

Percentage Difference* Package
75 android.support.v4.provider
60 android.support.v4.content.pm
51 android.support.transition
43 android.support.v17.leanback.media
33 android.support.v4.text.util
26 android.support.v4.os
25 android.support.v13.view
25 android.support.v4.net
24 android.support.v4.content.res
16 android.support.v4.media
15 android.support.percent
14 android.support.v4.graphics.drawable
13 android.support.v4.view
12 android.support.v4.view.accessibility
11 android.support.v4.content
11 android.support.v4.accessibilityservice
10 android.support.v4.widget
6 android.support.v17.leanback.widget
6 android.support.v13.view.inputmethod
5 android.support.v4.app
4 android.support.v17.leanback.app
3 android.support.v4.media.session
2 android.support.v4.text
1 android.support.v7.preference
1 android.support.v7.app
1 android.support.v13.app
1 android.support.design.widget
1 android.support.v7.widget
1 android.support.animation
<1 android.support.v4.util

* See Calculation of Change Percentages, below.


Changed Classes and Interfaces, Sorted by Percentage Difference

Percentage
Difference*
Class or Interface
100 android.support.v13.view.ViewCompat
100 android.support.v4.view.ScaleGestureDetectorCompat
100 android.support.v4.widget.ListPopupWindowCompat
66 android.support.v4.widget.ScrollerCompat
65 android.support.v4.view.MenuItemCompat
62 android.support.v4.os.BuildCompat
60 android.support.v17.leanback.widget.FocusHighlightHelper
60 android.support.v4.view.LayoutInflaterCompat
58 android.support.v4.view.accessibility.AccessibilityRecordCompat
57 android.support.v17.leanback.media.PlaybackGlue.PlayerCallback
52 android.support.v4.widget.EdgeEffectCompat
50 android.support.percent.PercentLayoutHelper.PercentLayoutParams
50 android.support.v17.leanback.widget.PlaybackControlsRow.PlayPauseAction
50 android.support.v17.leanback.widget.PlaybackControlsRow.ThumbsAction
50 android.support.v4.content.ParallelExecutorCompat
50 android.support.v4.net.TrafficStatsCompat
50 android.support.v4.os.AsyncTaskCompat
50 android.support.v4.os.ParcelableCompat
50 android.support.v4.view.LayoutInflaterFactory
50 android.support.v4.view.VelocityTrackerCompat
50 android.support.v4.view.ViewConfigurationCompat
50 android.support.v4.view.accessibility.AccessibilityManagerCompat.AccessibilityStateChangeListener
50 android.support.v4.widget.SearchViewCompat
50 android.support.v4.widget.SearchViewCompat.OnCloseListener
45 android.support.v4.view.MotionEventCompat
41 android.support.v4.widget.TextViewCompat
40 android.support.v17.leanback.widget.PlaybackControlsRow.ClosedCaptioningAction
40 android.support.v17.leanback.widget.PlaybackControlsRow.HighQualityAction
40 android.support.v17.leanback.widget.PlaybackControlsRow.RepeatAction
40 android.support.v17.leanback.widget.PlaybackControlsRow.ShuffleAction
39 android.support.design.widget.AppBarLayout.Behavior
37 android.support.v4.content.res.ConfigurationHelper
36 android.support.transition.Visibility
35 android.support.v4.view.accessibility.AccessibilityManagerCompat
34 android.support.v17.leanback.widget.PlaybackControlsRow
33 android.support.transition.AutoTransition
33 android.support.v17.leanback.app.PlaybackFragmentGlueHost
33 android.support.v17.leanback.app.PlaybackSupportFragmentGlueHost
33 android.support.v17.leanback.media.PlaybackGlueHost
33 android.support.v4.content.IntentCompat
33 android.support.v4.widget.ListViewCompat
30 android.support.v17.leanback.app.OnboardingFragment
30 android.support.v17.leanback.app.OnboardingSupportFragment
30 android.support.v4.view.KeyEventCompat
28 android.support.transition.Transition
26 android.support.v4.view.ViewParentCompat
25 android.support.design.widget.CoordinatorLayout.Behavior
25 android.support.v13.view.inputmethod.EditorInfoCompat
25 android.support.v4.os.ParcelableCompatCreatorCallbacks
25 android.support.v4.view.MenuItemCompat.OnActionExpandListener
25 android.support.v4.widget.SearchViewCompat.OnQueryTextListener
24 android.support.v17.leanback.app.PlaybackFragment
24 android.support.v17.leanback.app.PlaybackSupportFragment
21 android.support.v4.view.ViewCompat
20 android.support.transition.ChangeBounds
20 android.support.v4.view.NestedScrollingParentHelper
18 android.support.v17.leanback.media.PlaybackGlue
18 android.support.v4.app.RemoteInput
17 android.support.v4.view.NestedScrollingChildHelper
16 android.support.percent.PercentFrameLayout
16 android.support.percent.PercentRelativeLayout
16 android.support.v4.content.WakefulBroadcastReceiver
16 android.support.v4.text.TextUtilsCompat
16 android.support.v4.view.accessibility.AccessibilityEventCompat
14 android.support.transition.TransitionSet
14 android.support.v17.leanback.app.DetailsFragment
14 android.support.v17.leanback.app.DetailsSupportFragment
14 android.support.v4.app.FragmentContainer
12 android.support.v4.media.session.MediaSessionCompat
12 android.support.design.widget.CoordinatorLayout
12 android.support.v4.widget.NestedScrollView
11 android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat
11 android.support.animation.SpringAnimation
11 android.support.transition.Fade
11 android.support.v4.content.res.ResourcesCompat
11 android.support.v4.media.session.MediaControllerCompat.Callback
11 android.support.v4.view.ViewGroupCompat
10 android.support.v4.media.MediaBrowserCompat
10 android.support.percent.PercentRelativeLayout.LayoutParams
10 android.support.v13.app.FragmentCompat
10 android.support.v17.leanback.app.VerticalGridFragment
10 android.support.v17.leanback.app.VerticalGridSupportFragment
9 android.support.v4.app.NotificationCompat.Builder
8 android.support.v4.media.MediaDescriptionCompat
8 android.support.v4.app.NotificationCompat
8 android.support.percent.PercentLayoutHelper
8 android.support.v17.leanback.widget.VerticalGridView
7 android.support.v4.app.FragmentActivity
7 android.support.v4.app.RemoteInputCompatBase.RemoteInput
7 android.support.v7.widget.RecyclerView.State
6 android.support.v17.leanback.app.BrowseFragment
6 android.support.v17.leanback.app.BrowseSupportFragment
6 android.support.v4.app.NotificationCompat.MessagingStyle.Message
6 android.support.v4.app.RemoteInput.Builder
6 android.support.percent.PercentFrameLayout.LayoutParams
5 android.support.transition.TransitionManager
5 android.support.v4.util.SimpleArrayMap
5 android.support.v4.app.FragmentTransaction
5 android.support.v4.media.session.MediaSessionCompat.Callback
5 android.support.v7.preference.Preference
4 android.support.v4.app.NotificationCompat.Action
4 android.support.v4.media.session.MediaControllerCompat
4 android.support.v4.media.session.MediaSessionCompat.QueueItem
4 android.support.v4.media.session.MediaControllerCompat.TransportControls
4 android.support.v17.leanback.app.BaseRowFragment
4 android.support.v17.leanback.app.BaseRowSupportFragment
3 android.support.v4.app.FragmentManager
3 android.support.v7.preference.PreferenceManager
3 android.support.v4.app.FragmentManager.FragmentLifecycleCallbacks
3 android.support.percent.PercentLayoutHelper.PercentLayoutInfo
3 android.support.v7.widget.RecyclerView
3 android.support.v4.content.ContextCompat
2 android.support.v4.media.session.PlaybackStateCompat
2 android.support.v17.leanback.widget.HorizontalGridView
2 android.support.v4.view.InputDeviceCompat
1 android.support.v17.leanback.widget.ListRowPresenter
1 android.support.v7.widget.LinearLayoutManager
1 android.support.v4.view.accessibility.AccessibilityNodeInfoCompat
1 android.support.v7.app.AppCompatDelegate
1 android.support.v17.leanback.widget.GuidedActionsStylist
1 android.support.v4.media.MediaMetadataCompat
<1 android.support.v4.app.Fragment
<1 android.support.v17.leanback.app.GuidedStepFragment
<1 android.support.v17.leanback.app.GuidedStepSupportFragment
<1 android.support.v4.app.RemoteInputCompatBase

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