美文网首页
参考资料

参考资料

作者: TwistedFateJie | 来源:发表于2018-06-15 12:01 被阅读0次

    序列化与反序列化
    http://blog.csdn.net/yayun0516/article/details/46397811

    ImageLoader
    https://www.cnblogs.com/zhen-android/p/6906613.html
    https://www.cnblogs.com/linghu-java/p/5741358.html

    透明activity

     <style name="Semitransparent" parent="@android:style/Theme.Translucent.NoTitleBar">
            <item name="android:windowIsTranslucent">true</item>
            <item name="android:background">@color/semitransparent_color</item>
        </style>
    

    popupwindow增加动画
    https://www.cnblogs.com/jzyhywxz/p/7039503.html
    https://www.cnblogs.com/jzyhywxz/p/7039503.html

    https://my.oschina.net/javaTechLover/blog/338640

    @Override
        public boolean onTouch(View v, MotionEvent event) {
            float posY = 0;
            float curPosY = 0;
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    posY = event.getY();
                    Log.i("down","下滑"+posY);
                    break;
                case MotionEvent.ACTION_MOVE:
                    curPosY = event.getY();
                    break;
                case MotionEvent.ACTION_UP:
                    if (curPosY - posY > 0
                            && (Math.abs(curPosY - posY) > 100)) {
                        //向下滑動
                        Log.i("downdistance","下滑"+Math.abs(curPosY - posY));
    
                    }
                    break;
            }
            return true;
        }
    

    设置adjustViewBounds // 是否保持宽高比

    <ImageView
        android:id="@+id/iv_test"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:scaleType="fitXY"
        />
    
    首先,需要给你的ImageView布局加上android:adjustViewBounds="true"
    
    <ImageView android:id="@+id/test_image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="fitXY"
    android:adjustViewBounds="true"
    android:layout_gravity="center"
    android:contentDescription="@string/app_name"
    android:src="@drawable/ic_launcher" />
    

    https://blog.csdn.net/chenqian_deyouxiang/article/details/46840929

    开发规范
    https://coding.net/t/heyemoji/p/huiteng-doc/topic/364650

    点击变色
    https://blog.csdn.net/u013278940/article/details/51152655

    点9图的制作及其含义
    https://blog.csdn.net/Fredlxy_007/article/details/72600767

    APK包瘦身,性能优化

    Lint工具
    https://blog.csdn.net/u011240877/article/details/54141714

    最佳实践 —— 详细谈谈如何减小APK体积

    使用pngquant来压缩png资源缩小apk

    具体实现

    defaultConfig提供了resConfig这个flavor来指定打包出只打包某些资源,比如字串、图片等等
    例如下面的代码就只保留了中文和英文的语言资源:

    defaultConfig {
        resConfigs "zh","en"
    }
    

    so的优化

    defaultConfig {
            
            ... ...
    
            ndk {
                //设置支持的SO库架构
                abiFilters 'arm64-v8a', 'armeabi' //, 'x86', , 'x86_64', 'arm64-v8a'
            }
        }
    

    动态加载技术(插件化)

    微信资源混淆打包工具
    https://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=208135658&idx=1&sn=ac9bd6b4927e9e82f9fa14e396183a8f#rd

    性能优化

    内存泄漏

    http://www.cnblogs.com/soaringEveryday/p/5035366.html

    反编译

    当前的反编译方式
    https://www.jianshu.com/p/133702f2adff
    https://www.jianshu.com/p/c90024f61653

    项目收集

    一款阅读器
    https://www.jianshu.com/p/a670fa9a5f1d?utm_source=desktop&utm_medium=timeline
    掘金精选
    https://www.jianshu.com/p/5ad013eb5364

    Gradle

    stormzhang基础
    https://www.zhihu.com/question/30432152
    使用指南
    https://blog.csdn.net/heqiangflytosky/article/details/50853268
    gradle完整指南
    https://www.jianshu.com/p/9df3c3b6067a

    https://blog.csdn.net/yujihu989/article/details/54589684
    Gradle常用命令

    上面大家接触了一些命令如 ./gradlew -v ./gradlew clean ./gradlew build, 这里注意是./gradlew, ./代表当前目录,gradlew代表 gradle wrapper,意思是gradle的一层包装,大家可以理解为在这个项目本地就封装了gradle,即gradle wrapper, 在9GAG/gradle/wrapper/gralde-wrapper.properties文件中声明了它指向的目录和版本。只要下载成功即可用grdlew wrapper的命令代替全局的gradle命令。

    理解了gradle wrapper的概念,下面一些常用命令也就容易理解了。

    ./gradlew -v 版本号
    ./gradlew clean 清除9GAG/app目录下的build文件夹
    ./gradlew build 检查依赖并编译打包
    这里注意的是 ./gradlew build 命令把debug、release环境的包都打出来,如果正式发布只需要打Release的包,该怎么办呢,下面介绍一个很有用的命令 assemble, 如

    ./gradlew assembleDebug 编译并打Debug包
    ./gradlew assembleRelease 编译并打Release的包
    除此之外,assemble还可以和productFlavors结合使用,具体在下一篇多渠道打包进一步解释。

    ./gradlew installRelease Release模式打包并安装
    ./gradlew uninstallRelease 卸载Release模式包
    下一篇来介绍用Gradle进行方便的多渠道打包,以及项目中完整的Gradle配置。有问题或建议欢迎大家直接博客留言

    gradle完整指南笔记
    顶层的build.gradle文件的配置最终会被应用到所有项目中。
    buildscript:定义了 Android 编译工具的类路径。repositories中,jCenter是一个著名的 Maven 仓库。

    allprojects:中定义的属性会被应用到所有 module 中,但是为了保证每个项目的独立性,我们一般不会在这里面操作太多共有的东西。

    每个项目单独的 build.gradle:针对每个module 的配置,如果这里的定义的选项和顶层build.gradle定义的相同,后者会被覆盖。典型的 配置内容如下

    相关文章

      网友评论

          本文标题:参考资料

          本文链接:https://www.haomeiwen.com/subject/wliiqftx.html