Если вы можете запустить глобальную замену (один раз) и после этого сохранить некоторое соглашение о кодировании, вы можете следовать шаблону, часто используемому в платформе Android .
Вместо того, чтобы писать
Log.d(TAG, string1 + string2 + arg3.toString());
, используйте его как
if (BuildConfig.DEBUG) Log.d(TAG, string1 + String.format("%.2f", arg2) + arg3.toString());
Теперь Proguard может удалить StringBuilder и все строки и методы, которые он использует в пути, из оптимизированного выпуска DEX. Используйте proguard-android-optimize.txt
, и вам не нужно беспокоиться о android.util.Log в вашем proguard-rules.pro
:
android {
…
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
С плагином gradle для Android Studio BuildConfig.DEBUG
довольно надежный, поэтому вам не нужны дополнительные константы для контроля зачистки.
Вы всегда можете сделать:
var t=0; // the height of the highest element (after the function runs)
var t_elem; // the highest element (after the function runs)
$("*",elem).each(function () {
$this = $(this);
if ( $this.outerHeight() > t ) {
t_elem=this;
t=$this.outerHeight();
}
});
Отредактировано, чтобы заставить его снова работать.
Если элемент div меньше, чем его дочерние элементы, дочерние элементы, вероятно, являются плавающими. Можно ли сделать div размером с дочерние элементы?
Если можно, добавьте очищающий элемент внизу, чтобы div обернул его дочерние элементы:
<div id="someParent">
<p>test</p>
<img src="test1.png" alt="test1" style="float: left" />
<img src="test2.png" alt="test2" style="float: left" />
<div style="clear: both;"></div>
</div>
Или примените решение CSS clearfix к сделать почти то же самое, но без дополнительной разметки или очищающего div.
Содержащий его div получит ту же высоту, что и самый высокий дочерний элемент, и вы можете получить его следующим образом:
$("#someParent").height();