Android-Tips(实用Android开发技巧)

本文总结了Android开发中的一些实用技巧,包括如何追溯SDK中类的API变化,使用device monitor的method profiling工具定位卡顿原因,显式Intent启动Service,查找可启动的Activity,处理内存限制以及探讨Activity销毁时Fragment的生命周期。这些技巧有助于提升开发效率和应用性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整理本人实际开发中遇到的一些问题以及解决办法和一些开发技巧,以后会不定时更新。

tip:利用“目录”可快速导航

1.追溯sdk中某一个类随sdk版本升高导致的历史变迁。(find API changes)

问题来源:SwipeRefreshLayout源码:判断子View是否能向上滚动(或者是否滚动到顶部):

    /**
     * @return Whether it is possible for the child view of this layout to
     *         scroll up. Override this if the child view is a custom view.
     */
    public boolean canChildScrollUp() {
        if (android.os.Build.VERSION.SDK_INT < 14) {
            if (mTarget instanceof AbsListView) {
                final AbsListView absListView = (AbsListView) mTarget;
                return absListView.getChildCount() > 0
                        && (absListView.getFirstVisiblePosition() > 0 || absListView.getChildAt(0)
                                .getTop() < absListView.getPaddingTop());
            } else {
                return ViewCompat.canScrollVertically(mTarget, -1) || mTarget.getScrollY() > 0;
            }
        } else {
            return ViewCompat.canScrollVertically(mTarget, -1);
        }
    }

进入Android开发官网,假如要查看View API的变化,输入View,选择android.view.View,如图:

搜索View

进入View的API参考页面(文档页),如图:

参考

从图中可以看到三个主要信息:

  • View是在API level 1添加的
  • View的类层次
  • 通过左侧的API level choose button 可以查看不同API level下的View API,进行纵向的查看,同时可以将不同API level下的View API进行横向对比。

追溯API 变化就是通过上述第三条实现的。比如我们想看看API level 13和 API level 14之间有什么变化,将左侧API level设置为13,查看方法列表:

gray methods

我们会发现一些API 是灰色的,当鼠标hover过方法名时,会显示出一个提示,如图:
这里写图片描述

这个提示告诉我们:View中的canScrollVertically(int direction) 方法是在API level 14以后才添加的,另外canScrollHorizontally(int direction) 也是API level 14以后才添加的方法。当我把API level 切换到14时,发现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值