美文网首页
Android 小手段

Android 小手段

作者: CoderBigBear | 来源:发表于2016-05-23 16:22 被阅读207次

查看签名

很多开发者服务都需要绑定签名信息,用下面的命令可以查看签名:
<pre>
keytool -list -v -keystore release.jks
</pre>

单例模式(懒汉式)的更好的写法

1.JDK1.5就引入volatile关键字,所以有了一种更好的双重校验锁写法:<pre>
public class Singleton {
private volatile static Singleton singleton;
private Singleton (){}
public static Singleton getSingleton() {
if (singleton == null) {
synchronized (Singleton.class) {
if (singleton == null) {
singleton = new Singleton();
}
}
}
return singleton;
}
}</pre>注意,别忘记volatile关键字哦,否则就是10重,100重也可能还是会出问题。
2.另外一种静态内部类写法更推荐:<pre>
publlic class Singleton {
private Singleton() {}
private static class SingletonLoader {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return SingletonLoader.INSTANCE;
}
}
</pre>

ListView的局部刷新

有的列表可能notifyDataSetChanged()代价有点高,最好能局部刷新。局部刷新的重点是,找到要更新的那项的View,然后再根据业务逻辑更新数据即可。
<pre>
private void updateItem(int index) {
int visiblePosition = listView.getFirstVisiblePosition();
if (index - visiblePosition >= 0) {
//得到要更新的item的view
View view = listView.getChildAt(index - visiblePosition);
// 更新界面(示例参考)
// TextView nameView = ViewLess.$(view, R.id.name);
// nameView.setText("update " + index);
// 更新列表数据(示例参考)
// list.get(index).setName("Update " + index);
}
}
</pre>

系统内置的一些工具类

<pre>// 系统
./android/database/DatabaseUtils.java
./android/transition/TransitionUtils.java
./android/view/animation/AnimationUtils.java
./android/view/ViewAnimationUtils.java
./android/webkit/URLUtil.java
./android/bluetooth/le/BluetoothLeUtils.java
./android/gesture/GestureUtils.java
./android/text/TextUtils.java
./android/text/format/DateUtils.java
./android/os/FileUtils.java
./android/os/CommonTimeUtils.java
./android/net/NetworkUtils.java
./android/util/MathUtils.java
./android/util/TimeUtils.java
./android/util/ExceptionUtils.java
./android/util/DebugUtils.java
./android/drm/DrmUtils.java
./android/media/ThumbnailUtils.java
./android/media/ImageUtils.java
./android/media/Utils.java
./android/opengl/GLUtils.java
./android/opengl/ETC1Util.java
./android/telephony/PhoneNumberUtils.java
// 设计和支持库
./design/src/android/support/design/widget/ViewGroupUtils.java
./design/src/android/support/design/widget/ThemeUtils.java
./design/src/android/support/design/widget/ViewUtils.java
./design/lollipop/android/support/design/widget/ViewUtilsLollipop.java
./design/base/android/support/design/widget/AnimationUtils.java
./design/base/android/support/design/widget/MathUtils.java
./design/honeycomb/android/support/design/widget/ViewGroupUtilsHoneycomb.java
./v7/recyclerview/src/android/support/v7/widget/helper/ItemTouchUIUtil.java
./v7/recyclerview/src/android/support/v7/widget/helper/ItemTouchUIUtilImpl.java
./v7/recyclerview/src/android/support/v7/util/MessageThreadUtil.java
./v7/recyclerview/src/android/support/v7/util/AsyncListUtil.java
./v7/recyclerview/src/android/support/v7/util/ThreadUtil.java
./v7/recyclerview/tests/src/android/support/v7/widget/AsyncListUtilLayoutTest.java
./v7/recyclerview/tests/src/android/support/v7/util/AsyncListUtilTest.java
./v7/recyclerview/tests/src/android/support/v7/util/ThreadUtilTest.java
./v7/appcompat/src/android/support/v7/graphics/drawable/DrawableUtils.java
./v7/appcompat/src/android/support/v7/widget/DrawableUtils.java
./v7/appcompat/src/android/support/v7/widget/ThemeUtils.java
./v7/appcompat/src/android/support/v7/widget/ViewUtils.java
./v4/tests/java/android/support/v4/graphics/ColorUtilsTest.java
./v4/jellybean-mr1/android/support/v4/text/TextUtilsCompatJellybeanMr1.java
./v4/jellybean/android/support/v4/app/BundleUtil.java
./v4/jellybean/android/support/v4/app/NavUtilsJB.java
./v4/java/android/support/v4/app/NavUtils.java
./v4/java/android/support/v4/database/DatabaseUtilsCompat.java
./v4/java/android/support/v4/graphics/ColorUtils.java
./v4/java/android/support/v4/text/TextUtilsCompat.java
./v4/java/android/support/v4/util/TimeUtils.java
./v4/java/android/support/v4/util/DebugUtils.java
./v4/java/android/support/v4/content/res/TypedArrayUtils.java
</pre>

dpi文件夹的换算比例

之前的ldpi基本可以抛弃了,主流的dpi已经从很早之前的mdip转移到了xhdpi了,特别提醒。
PPI RESOLUTION DP PX
mdpi(160dp) 320P 1 1
hdpi(240dp) 480P 1 1.5
xhdpi(320dp) 720P 1 2
xxhdpi(480dpi) 1080P 1 3

Monkey参数

跑monkey的参数设置有一些要注意的地方,比如太快了不行不切实际,太慢了也不行等等,这里给出一个参考:
<pre>
adb shell monkey -p -s 1000 --ignore-crashes --ignore-timeouts --ignore-security-exceptions --pct-trackball 0 --pct-nav 0 --pct-majornav 0 --pct-anyevent 0 -v --throttle 300 1200000000
</pre>
~20160523

相关文章

  • Android 小手段

    查看签名 很多开发者服务都需要绑定签名信息,用下面的命令可以查看签名: keytool -list -v -key...

  • Android小手段

    安卓下执行java程序 https://blog.csdn.net/u010651541/article/deta...

  • 微信小程序:如何利用navigateBack退出小程序

    在Android开发时,我们可以使用finish()或者结束进程等手段达到退出app的效果,但是,微信小程序则没有...

  • 学习几个概念

    1目标与手段 不要混淆目标和手段;小目标有自己的手段,同时小目标也是大目标的手段,增加实现大目标的手段灵活性。 标...

  • 2019-08-23Android库分析工具(崩溃反编译)

    Android崩溃调试手段 (1)#cd /Users/laixh/MiGuProjectCode/AiDemo0...

  • [Android Things] 应用权限处理

    Android Things可能会出现没有屏幕、键盘等交互手段的设备上,所以即便它是基于Android O的,也对...

  • [Android] 无线adb调试

    连接adb调试是android调试里最常见的一个手段了,就连常见的IDE(如Android Studio、Ecli...

  • 关于 Android 进程保活

    关于 Android 进程保活 Android进程保活手段主要分3种: 1:利用不同的app进程使用广播来进...

  • Android开发安全手册

    常规安全防御手段 混淆 混淆是Android基本安全手段,虽然目前有很多工具能够反混淆,但是对于反编译调试代码还是...

  • 吐血搞定binder机制

    前言   binder机制作为android进程间通信一种非常重要的手段,在android系统中起到重要的作用,在...

网友评论

      本文标题:Android 小手段

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